使用ADO/VBA/SQL快速检索已关闭的excel工作簿数据
我将下面的数据表保存在一个文件中。我想在另一个工作表中为“Person”传递一个参数,该工作表返回“Networth”。例如,如果我传递returnvalue2(“标记”),我想返回标量600。有办法做到这一点吗使用ADO/VBA/SQL快速检索已关闭的excel工作簿数据,vba,ado,Vba,Ado,我将下面的数据表保存在一个文件中。我想在另一个工作表中为“Person”传递一个参数,该工作表返回“Networth”。例如,如果我传递returnvalue2(“标记”),我想返回标量600。有办法做到这一点吗 Function returnvalue2(column As Variant, X As Integer) As Variant Dim sSQLQry As String Dim ReturnArray Dim Conn As New ADODB.conn
Function returnvalue2(column As Variant, X As Integer) As Variant
Dim sSQLQry As String
Dim ReturnArray
Dim Conn As New ADODB.connection
Dim mrs As New ADODB.Recordset
Dim DBPath As String, sconnect As String
variable1 = X
DBPath = "C:\Users\josep\OneDrive\Documents\networth.test.xlsx"
'THIS WORKS!'=
'Using MSDASQL Provider
sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & DBPath & ";HDR=Yes';"
'Using Microsoft.Jet.OLEDB Provider - If you get an issue with Jet OLEDN Provider try MSDASQL Provider (above statement)
'sconnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath _
& ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
Conn.Open sconnect
sSQLSting = "SELECT " & column & " From [Sheet1$] WHERE Networth>" & variable1 & "" 'Your SQL Statement (Table Name= Sheet Name=[DataSheet$])"
mrs.Open sSQLSting, Conn
'=>Load the Data into an array
'ReturnArray = mrs.GetRows
''OR''
'=>Paste the data into a sheet
ra = mrs.GetRows
'Close Recordset
mrs.Close
'Close Connection
Conn.Close
returnvalue2 = ra
End Function