网站首页 > 教程分享 正文
之前的100多篇文章,解决案例的大部分手段,均为数组、字典或数组与字典的组合,估计大家都看腻了。今天开始更新使用SQL语句的文章。注意SQL语句貌似只能在Excel里面使用,不能在WPS里面使用。如果有其它方法让SQL在wps里运行,也欢迎大家留言补充。
源数据:
查询内容:
问题描述:
1:通过SQL语句,获取表格中 条码、仓位、货号的数据;
解决的思路详解:
SQL的核心语句
Sql = "SELECT 条码,仓位,货号 FROM [商品信息目录$] ";
代码运行的结果如下:
代码如下:
SQL语句汇总,查询获取多列的数据,SQL语句如下:
SELECT 列字段名1,列字段名2,列字段名3 FROM [工作表名称$]
注意事项: 1.在SQL语句中SQL语句英文不区分大小写,但标点符号必须是英文半角状态下输入,字段名也必须跟原来的一样。
2.使用SQL语句的时候,必须避免列字段中使用下面的特殊字符:
空格、双引号(")、撇(')、数字标记(#)、百分号(%)、大于号(>)、小于号(<)、叹号(!)、句号(.)、方括号([或])、星号(*)、美元符号($)、分号(;)、脱字号(^)、圆括号((或))、加号(+)、反斜杠(\或/)。
如果在源数据表的列字段使用了这些特殊字符,那么在使用SQL语句列出各字段的数据时,就会发生错误。为了规范使用SQL语句,在对数据源字段命名时,尽量避免使用这些特殊字符。
Sub DoSql_Execute() Dim cnn As Object, rst As Object Dim Mypath As String, Str_cnn As String, Sql As String Dim i As Long Set cnn = CreateObject("adodb.connection") '以上是第一步,后期绑定ADO Mypath = ThisWorkbook.FullName '以上获取当前工作簿的路径及名称 If Application.Version < 12 Then '格式为.xls,调用下述语句 Str_cnn = "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & Mypath Else '格式为.xlsx,调用下述语句 Str_cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & Mypath End If cnn.Open Str_cnn '判断一下当前Excel的版本,12.0以下使用“Provider=Microsoft.Jet.Oledb.4.0”,以上使用“Microsoft.ACE.OLEDB.12.0” '以上是第二步,建立链接 ' Sql = "SELECT 条码,仓位,货号 FROM [商品信息目录$] " 'Sql语句,查询商品信息目录表中条码,仓位,货号的数据 [a2:c1000].ClearContents '清空[a2:c1000]区域内容 Range("a2").CopyFromRecordset cnn.Execute(Sql) 'Execute语句先执行SQL语句 '使用单元格对象的CopyFromRecordset方法将SQL查询到的内容复制到D2单元格为左上角的单元格区域 '以上是第三步,执行SQL语句并将数据读入表格指定区域 cnn.Close '关闭链接 Set cnn = Nothing '释放内存 End Sub
代码解析:
本例代码,基本都有注释,所以简单的说明一下:
1:5~18行 语句为通用语句,其它表格运用,可以直接复制此代码;
2:21行 SQL语句,根据不同的查找内容,进行设置;
3:25行 用单元格对象CopyFromRecordset复制 SQL查询到的内容;但是CopyFromRecordset方法,不会返回列头和列表。返回列头和列表的方法,明天再更新。
4:29~31行 代码为通用语句。
点击关注可以更方便的查看Excel VBA的案例文章
私信 视频 可以获取54集VBA入门视频
私信 VBA或 vba 可以获取文章中含VBA代码的Excle文件
猜你喜欢
- 2024-09-09 SQL Server优化50法(sql server 优化)
- 2024-09-09 SQLServer-高级篇(sqlserver ag)
- 2024-09-09 2022-12-17:订单最多的客户。以下数据,结果输出3。请问sql语句
- 2024-09-09 springboot整合mybatis使用xml实现sql语句的查询配置
- 2024-09-09 Qt的数据库(Driver类、Query类、Model类、View类)
- 2024-09-09 MS SQL Server——SQL语句导入导出大全
- 2024-09-09 mysql根据条件执行sql(mysql根据条件查询)
- 2024-09-09 MyBatis3-动态SQL语句(navicat怎么写sql语句)
- 2024-09-09 SQL优化——IN和EXISTS谁的效率更高
- 2024-09-09 面试官:编写一个 SQL 查询,找出每个部门工资第二高的员工
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)