我对SQL非常了解,可以执行基本查询并处理在数据库中拆分为多个表的数据。我知道Excel 2007更好一点,并且经常使用它来管理我的机械工程项目。
有时在Excel中,我想操纵来自多个电子表格的数据并合并到一个表中-这是非常适合SQL查询的任务。通常,当我遇到这样的问题时,我的立即反应是开始在脑海中构建查询。不幸的是,很多时候SQL查询不容易转换为Excel函数,这使我停滞不前。
是否可以在Excel中将SQL用于这些功能?
您可以将ADO与Excel VBA一起使用。例如:
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
''This is just a convenient name to test, it would probably be
''better to use the full file name eg C:\Docs\XL.xls
strFile = Workbooks(1).FullName
''For ACE see: http://www.connectionstrings.com/excel-2007
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Open strCon
''Pick one:
strSQL = "SELECT * FROM DataTable" ''Named range
strSQL = "SELECT * FROM [Sheet1$A1:E346]" ''Range
strSQL = "SELECT * FROM [Sheet1$]" ''All the data in a sheet
strSQL = "SELECT * FROM [Excel 8.0;HDR=YES;IMEX=1;" _
& "database=C:\Docs\LTD.xls].[Sheet1$]" ''Refer to second workbook
rs.Open strSQL, cn
''Write a recordset to a sheet
Worksheets("Sheet3").Cells(2, 1).CopyFromRecordset rs
该查询可以使用Jet SQL可接受的任何值:
Fundamental Microsoft Jet SQL for Access 2000
Intermediate Microsoft Jet SQL for Access 2000
Advanced Microsoft Jet SQL for Access 2000
您可以在以下网址找到更多信息:https : //stackoverflow.com/,包括添加到MS Access,SQL Server,MySQL等。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句