001 初识Excel SQL,我们不应错过的查询利器–VBA方法

大家好,我是涂涂

今天涂涂给大家说说SQL,何为SQL呢?

SQL,即结构化查询语言(Structured Query Language)的简称,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL极大的灵活性和强大的查询功能,是我们不应错过的查询利器。

今天涂涂给大家分享下如何在Excel中通过VBA方法来使用SQL语句进行数据的查询。

问题:

从数据源工作表中,查找中文名称为“万用表”的数据,并将这些万用表的【中文名称】、【型 】、【管理编 】信息导入到结果表工作表中。

操作方法

步骤1

代码:

Sub SQL_01()        Dim Conn As Object        Dim Rst As Object        Dim SQL, Ver As String        Dim i As Long        Set Conn = CreateObject("ADODB.Connection")        Set Rst = CreateObject("ADODB.Recordset")        Cells.ClearContents    		Ver = "provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data source="  & ThisWorkbook.FullName      'Excel2007以上版本   		Conn.Open Ver    '    **********************************************************************************        SQL = "Select  中文名称,型 ,管理编  from [数据源$] where 中文名称='万用表'"    '    **********************************************************************************        Set Rst = Conn.Execute(SQL)        For i = 0 To Rst.Fields.Count - 1               Cells(1, i + 1) = Rst.Fields(i).Name        Next i        Range("A2").CopyFromRecordset Rst        Conn.Close    Set Conn = Nothing        Set Rst = NothingEnd Sub

步骤2

◆选中结果表工作表,点击【开发工具】选项卡,点击【插入】下拉箭头,点击【按钮】命令

◆在表格空白处,拖动鼠标画一个矩形,然后指定宏即可

效果图:

修改查询条件:

例如:需要提取中文名称为“万用表”的所有信息,如何修改呢?

只需将SQL语句中的全部列字段删除,换成*星 即可

SQL语句修改如下:

select * from [数据源$] where 中文名称=’万用表’


SQL select子句语法:

select 列标题1,列标题2,列标题3 from [工作表名称$] where 列标题 运算符 值

select 中文名称,型 ,管理编 from [数据源$] where 中文名称=’万用表’

◆中文名称,型 ,管理编 叫做列字段(即列标题),各字段之间使用英文逗 隔开

◆查询结果返回的信息,分别对应中文名称,型 ,管理编 列标题,列标题的增删请随意

◆[数据源$]是数据源工作表的名称,后面必须要跟一个$符 ,并用方框 [ ]括起来

◆中文名称=’万用表’,这里的值是文本,需要使用单引 引起来


Tips:

本例的数据源工作表和结果表工作表同在一个工作簿中,如果数据源是单独的一个工作簿,那么SQL语句中则需要增加数据源工作簿的地址了。

[D:Excel关联仪器总表.xlsx].[数据源$]

◆第一方括 [ ]是包含路径的数据源工作簿名称,第二个方括 [ ]是数据源工作簿中工作表的名称

◆两个方括 之间使用.点 连接,表示从属关系


等更新太累,想要了解更多,分享你的疑难杂症,

职场高效Excel

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月15日
下一篇 2020年3月15日

相关推荐