在VBA中,Command对象定义了对数据源执行的指令,在该指令被执行后将会获取满足指定条件的记录集。通过该对象可以完成各种复杂操作,这包括数据的查询、删除、添加以及更新等。该对象不仅可以执行SQL语句,结合Parameter对象还可以完成参数查询。本文介绍使用Command对象执行SQL语句来获取满足指定条件的记录数的方法。
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所示。