设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[Excel2013教程] 使用Command对象执行SQL语句来获取满足指定条件的记录数的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2017-1-16 17:27:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
                               

                        在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所示。
       

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

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

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-4-29 17:29 , Processed in 0.203554 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表