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

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

提問人:周麗平發(fā)布時(shí)間:2021-08-23

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

Sub RecordCount()

Dim conn As New ADODB.Connection

Dim rs As ADODB.Recordset

Dim cmd As New ADODB.Command '定義Command對(duì)象

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對(duì)象

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

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

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鍵運(yùn)行該過程,在“立即窗口”中將顯示數(shù)據(jù)記錄數(shù),如圖1所示。

image.png

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

提示

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

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

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