ad

《Excel VBA+SQL数据管理与应用模板开发》_工作效率UP!_3.2 基本查询方法与示例

网友投稿 168 2023-11-07

【摘要】 本书摘自《Excel VBA+SQL数据管理与应用模板开发》一书中第3章,第2节,韩小良著。

3.2 基本查询方法与示例

了解了 SQL 的 SELECT 语句基本结构及要点后,本节我们将介绍使用SQL 语句从Excel 工作表查询数据的常用方法和实际案例。

《Excel VBA+SQL数据管理与应用模板开发》_工作效率UP!_3.2 基本查询方法与示例

查询全部记录

查询全部记录的基本 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小时内删除侵权内容。

上一篇:《Python学习笔记 从入门到实战》_更了解Python的途径之一_11.1.3 实现字符串匹配处理
下一篇:《Python学习笔记 从入门到实战》_更了解Python的途径之一_8.2.3 创建并使用包
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×