失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 在EXCEL中使用SQL语句查询

在EXCEL中使用SQL语句查询

时间:2023-01-23 22:40:18

相关推荐

在EXCEL中使用SQL语句查询

SQL语句在数据库使用中十分重要。

在EXCEL中可以不打开工作簿,就获取数据,对多工作簿操作很用,也很快。

对大量数据处理,比循环快很多,但是比词典方法还有点距离(可惜我还没有学会词典)。

对数据库编程,任何编程语言都要,都支持SQL语言。

借助VBA, 我们也可在EXCEL中使用它,也就是将EXCEL作为数据库

(EXCEL中对SQL功能稍有限制,如:删除数据等,但不影响我对它的推崇)

在斑竹的帮助下,对SQL在EXCEL有了一点点体会,拿出来和大家分享。

斑竹的SQL帮助文件:/thread-65664-1-1.html

标准的EXCEL中SQL使用见附件的各个模块,ALT+F11就能看到了{:soso_e120:}

-04-24最新更新:标准语句、实例语句和解释互动, 结果直接显示,可自己修改语句。

EXCEL版本: <ignore_js_op>EXCEL中的SQL学习总结-for -0424.rar(30.28 KB, 下载次数: 4765)

-4-24 19:06 上传 点击文件名下载附件

EXCEL版本: <ignore_js_op>EXCEL中的SQL学习总结-for -0424.rar(41.11 KB, 下载次数: 7480)

-4-24 19:06 上传 点击文件名下载附件

'在Excel中使用SQL语句总结-1:'************************************ 标准SQL查找代码: *********************************************************Sub SQL_Excel__()'On Error Resume Next '如果出现错误,忽略,然后执行下一行代码。Application.ScreenUpdating = False '关闭屏幕刷新,成对出现,提高速度Application.DisplayAlerts = False '关闭提示,,成对出现,避免出现提示框'--------------------------------------- 参数声明部分 ------------------- ------------------- -------------------Dim cnn, SQL$ '定义数据库连接和SQL语句Set cnn = CreateObject("adodb.connection") '创建数据库连接Set rs = CreateObject("adodb.recordset") '创建一个数据集保存数据'--------------------------------------- 设置数据库连接 ------------------- ------------------- -------------------cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.FullName'将EXCEL文件作为数据库连接,实际并不打开EXCEL,'Excel版本:cnn.Open "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.Path & "\数据表.xls"'Excel版本:cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.Path & "\数据表.xlsx"'带参数的连接字符串:cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;HDR=yes;IMEX=2';data source=" & ThisWorkbook.FullName' HDR=Yes 代表 Excel 档中的工作表第一行是标题栏,标题只能是一行,不能使多行,或者合并的单元格。' HDR=no工作表第一行就是数据了,沒有标题栏,不使用栏位,则栏位就以f代表,第一列列名就是:f1,第二列列名:f2' IMEX 汇入模式 0 只读 1 只写 2 可读写' 当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。' 当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。' 当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。'Data Source 存储查询数据来源的工作薄名称,数据库路径为:数据表.xls 或本表:& ThisWorkbook.FullName'--------------------------------------- 设置SQL语句 ------------------- ------------------- -------------------SQL = "select * from [数据表_1$A1:G100] where 姓名='马拉多纳'"'在Sheet1表内查找列名为:姓名 中所有:马拉多纳 的数据。'[XXX$A2:G100]的中括号和$为特别数据表标示符,XXX为Sheet名,A2:G100是选取的区域。'SQL语句是一个字符串,双引号开头和结尾,列名两边无单引号,表示一个字符串:‘马拉多纳’,要用单引号扩上,数字就不用了。'Nu=36: AA="马拉多纳": set Sh=Sheet1: SQL = "select * from [" & Sh.name & “$] where 姓名=‘” & AA & “’ and 年龄=Nu"'--------------------------------------- SQL结果处理 ------------------- ------------------- -------------------Set rs = cnn.Execute(SQL) '将SQL语句获得的数据传递给数据集Sheets("结果").Cells.ClearContents '清理保存数据的区域Sheets("结果").Range("a2").CopyFromRecordset rs '将数据集粘贴到Excel中,左上角为A2,无列名。'Sheets("结果").Range("b2").CopyFromRecordset cnn.Execute(SQL) '可以不声明Y,直接使用cnn.Close'关闭数据库连接Set cnn = Nothing '将CNN从内存中删除。'--------------------------------------- ------------------------ ------------------- -------------------Application.ScreenUpdating = TrueApplication.DisplayAlerts = TrueEnd Sub '这就是最简单的EXCEL中SQL的应用 ,其他的都是SQL的运用了

转载自:/thread-859194-1-1.html, 感谢opiona的分享。

如果觉得《在EXCEL中使用SQL语句查询》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。