一次解析文件2行-英雄云拓展知识分享
168
2023-11-07
【摘要】 本书摘自《Excel VBA+SQL数据管理与应用模板开发》一书中第3章,第2节,韩小良著。
3.2 基本查询方法与示例
了解了 SQL 的 SELECT 语句基本结构及要点后,本节我们将介绍使用SQL 语句从Excel 工作表查询数据的常用方法和实际案例。
查询全部记录
查询全部记录的基本 SQL语句如下:
Select *from 数据表名
这里的星号(*)表示所有字段,并且不使用 where 子句来限定条件。
案例3-1
下面的程序是从工作簿“员工信息.xlsx” 的“基本信息”工作表中把所有员工的信息数 据取出来,保存到当前工作簿中。
Sub 案例3-10
"定义Connection变量、Recordset对象变量、工作表对象变量ws、查找字符串变量SQL Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim SQL As String
Dim ws As Worksheet
Dim i As Integer
'设置工作表对象,清除旧的数据
Set ws =This Workbook.Worksheets(1)
ws.Cells.Clear
'建立与工作簿的连接
With cnn
.Provider ="microsoft.ace.oledb.12.0"
.ConnectionString ="Extended Properties=Excel 12.0;"_
&"Data Source="&ThisWorkbook.Path&"员工信息.xlsx"
.Open
End With
设置查找语句
SQL="select *from [基本信息$]"
'执行查询
rs.Open SQL,cnn,adOpenKeyset,adLockOptimistic
'复制标题
Fori=1 To rs.Fields.Count
ws.Cells(1,i)=rs.Fields(i-1).Name
Nexti
'复制查找出的数据
ws.Range("A2").CopyFromRecordset rs
'关闭查询和连接
rs.Close
cnn.Close
Set rs =Nothing
Set cnn =Nothing
End Sub
重要语句说明。
1.建立与工作簿的连接
建立与工作簿的ADO 连接,常见的、最容易理解的语句结构如下:
With cnn
.Provider ="microsoft.ace.oledb.12.0"
.ConnectionString="Extended Properties=Excel 12.0;"_
&" Data Source="& 带完整路径的工作簿名称
.Open
End With
这里的“带完整路径的工作簿名称”需要指定具体的工作簿。
(1)如果是当前运行宏的工作簿,就写为 ThisWorkbook.FullName。
(2)如果是其他工作簿,就必须写完成路径的文件,如“"D:A分析\经营分析 .xlsx"”。
2.获取字段个数和名称
获取字段个数是使用Fields 集合的 Count 属性。
rs.Fields.Count
获取字段名称是使用 Field 对象的Name 属性,注意第1个字段的序号是0,第2个字段 的序号是1,最后一个字段的序号是 rs.Fields.Count-1。
rs.Fields(i).Name
循环获取每个字段的名称并保存到工作表的第1行就用下面的语句。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~