位置:首頁 > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

怎么使用Command對象執(zhí)行SQL語句來獲取滿足指定條件的記錄數(shù)?

提問人:周麗平發(fā)布時間:2021-07-24

1、啟動Excel并打開工作簿文件,切換到Visual Basic編輯器,在工程資源管理器中新建一個模塊,在模塊的“代碼”窗口輸入如下代碼:

Sub RecordCount()

Dim conn As New ADODB.Connection

Dim rs As ADODB.Recordset

Dim cmd As New ADODB.Command '定義Command對象

conn.Provider="Microsoft.ACE.OLEDB.12.0" '設(shè)置提供者名稱

conn.ConnectionString="data source="&_ThisWorkbook.Path&"\羅斯文2007.accdb" '設(shè)置連接字符串

conn.Mode=adModeReadWrite '設(shè)置讀寫模式

conn.Open '打開數(shù)據(jù)庫連接

With cmd '設(shè)置Command對象

.ActiveConnection=conn '設(shè)置Command對象的當(dāng)前鏈接

.CommandText="Select Count(*)from訂單where[員工ID]=1" 'Command對象的指令

Set rs=cmd.Execute '執(zhí)行指令

End With

'Set rs=conn.Execute("Select Count(*)from訂單")'使用Connection的Execute方法

Debug.Print"員工“張穎”的訂單數(shù)為:"&rs.Fields(0) '輸出訂單數(shù)

End Sub

2、按F5鍵運行該過程,在“立即窗口”中將顯示數(shù)據(jù)記錄數(shù),如圖1所示。

image.png

圖1 “立即窗口”中顯示運行結(jié)果

提示

在進行無參數(shù)查詢時,使用Connection對象的Execute方法要比Command對象簡便得多。示例中使用了SQL語句,該語句中包含一個聚合函數(shù)Count,該函數(shù)可以計算記錄集中記錄的數(shù)量。Command對象被執(zhí)行后,將獲取一個記錄集。示例中的記錄集僅包含一個記錄,其值即為12。讀者需要注意的是,字段的索引號是從0開始的,而不是1。

繼續(xù)查找其他問題的答案?

回復(fù)(0)
返回頂部