位置:首页 > 软件操作教程 > 办公软件 > Excel > 问题详情

如何使用Command对象执行SQL语句来获取满足指定条件的记录数

提问人:周丽平发布时间:2021-08-23

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" '设置提供者名称

conn.ConnectionString="data source="&_ThisWorkbook.Path&"\罗斯文2007.accdb" '设置连接字符串

conn.Mode=adModeReadWrite '设置读写模式

conn.Open '打开数据库连接

With cmd '设置Command对象

.ActiveConnection=conn '设置Command对象的当前链接

.CommandText="Select Count(*)from订单where[员工ID]=1" 'Command对象的指令

Set rs=cmd.Execute '执行指令

End With

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

Debug.Print"员工“张颖”的订单数为:"&rs.Fields(0) '输出订单数

End Sub

2、按F5键运行该过程,在“立即窗口”中将显示数据记录数,如图1所示。

image.png

图1 “立即窗口”中显示运行结果

提示

在进行无参数查询时,使用Connection对象的Execute方法要比Command对象简便得多。示例中使用了SQL语句,该语句中包含一个聚合函数Count,该函数可以计算记录集中记录的数量。Command对象被执行后,将获取一个记录集。示例中的记录集仅包含一个记录,其值即为12。读者需要注意的是,字段的索引号是从0开始的,而不是1。

继续查找其他问题的答案?

回复(0)
返回顶部