Dzwebs.Net

撰写电脑技术杂文十余年

EXCEL的vba如何使用SQL

Admin | 2017-10-24 17:01:45 | 被阅次数 | 10947

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在EXCEL的VBA中,可以使用SQL语句对电子表格进行查询。

  一、前提条件

  数据表的第一行必须为表头,即字段名。

  比如


  二、示例代码

   Dim iCols

    Dim cnn, SQL, rs '定义数据库连接和SQL语句<br />
    Set cnn = CreateObject("adodb.connection")  '创建数据库连接<br />
    Set rs = CreateObject("adodb.recordset")   '创建一个数据集保存数据<br />
    cnn.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=excel 8.0;Data Source=E:\Excel研究VBA\Excel使用SQL示例.xls"
    
    
    SQL = "select * from [Sheet1$] where 姓名='李跃' and 班级 <> 1"
    'SQL = "select * from [Sheet1$] where 姓名 like '%龙%'"
    'SQL = "select count(*) as num from [Sheet1$] where 姓名 like '%龙%'"


    
    Set rs = cnn.Execute(SQL) '将SQL语句获得的数据传递给数据集<br />
    Sheet2.Cells.ClearContents
    
    'Sheet2.Range("a1").CopyFromRecordset rs
    '下面的循环功能是在第一行填充字段名称
    For iCols = 0 To rs.Fields.Count - 1
        Sheet2.Cells(1, iCols + 1).Value = rs.Fields(iCols).Name
    Next
    Sheet2.Range("A2").CopyFromRecordset rs
    
    Set rs = Nothing

    Set cnn = Nothing

  如上代码的功能是:把从Sheet1中查询到的数据,粘贴到Sheet2中,粘贴的位置从A2开始一直往下,直到粘贴完为止。


该杂文来自: Excel杂文

上一篇:Excel2007的自定义筛选在哪里找

下一篇:excel vba选择行或在状态栏输入信息提示

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计