使用SQL语句实现对Excel工作表数据进行查询的方法
SQL语句是一种标准的数据库语言,其可以在任何关系型数据库管理系统中使用。本文介绍使用SQL语句实现对Excel工作表数据进行查询的方法。
1、启动Excel并打开工作簿,在这个工作簿中,工作表Sheet1放置商品信息记录,如图1所示;工作表Sheet2用于对商品记录进行查询,其结构如图2所示。
图1 放置商品信息记录的工作表
图2 用于商品记录查询的工作表
2、打开Visual Basic编辑器,在工程资源管理器中插入一个模块,在模块的“代码”窗口中输入如下程序代码:
Sub CheckData()
Dim cnn As ADODB.Connection '声明连接对象变量
Dim rs As ADODB.Recordset '声明记录集对象
Dim strSql As String
Dim str As String
On Error Resume Next
Set cnn=CreateObject("ADODB.Connection") '创建连接对象变量
Set rs=CreateObject("ADODB.Recordset") '创建记录集对象记录
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;"_&"Extended Properties=Excel 8.0;"_&"Data Source="&ThisWorkbook.FullName
str=ActiveSheet.Range("B1").Value '获取当前单元格内容
strSql="Select*FROM[Sheet1$]Where商品like '%"&str&"%'"'创建数据筛选命令
rs.Open strSql,cnn,adOpenStatic
With ActiveSheet
.Range("A4:D100").ClearContents '清除单元格记录
.Range("A4").CopyFromRecordset rs '复制筛选结果
End With
rs.Close
cnn.Close
Set rs=Nothing
Set cnn=Nothing
End Sub
3、首先在Sheet2工作表中输入需要查询的商品名称,如图3所示。运行CheckData()过程,在Sheet2工作表中将列出查询结果,如图4所示。
图3 输入商品名称
图4 获得查询结果