我正在嘗試撰寫一個代碼,該代碼將在 Acess 檔案中搜索列中的特定值并回傳該行。到目前為止,我只是在使用變數而不是特定值時讓它作業。
首先,我將要搜索的值設定為單元格 A1 的變數 var,然后我嘗試在 Access 檔案的“電壓”列中搜索它,當我使用 var 時,出現錯誤“沒有給一個值或更多必需的引數。”
Option Explicit
Sub getDataFromAccess()
'Cell search value
Dim var As Integer
var = Range("A1").value
Dim DBFullName As String
Dim Connect As String, Source As String
Dim Connection As ADODB.Connection
Dim Recordset As ADODB.Recordset
Dim Col As Integer
'Cells.Clear
'Database path info
DBFullName = "C:\Users\jmike\Desktop\excel
database - Copy\Database.accdb"
'Open the connection
Set Connection = New ADODB.Connection
Connect = "Provider=Microsoft.ACE.OLEDB.12.0;"
Connect = Connect & "Data Source=" & DBFullName & ";"
Connection.Open ConnectionString:=Connect
'Create RecordSet
Set Recordset = New ADODB.Recordset
With Recordset
'Filter Data
Source = "SELECT * FROM Orders Where[Voltage]=var"
.Open Source:=Source, ActiveConnection:=Connection
'Write field names
For Col = 0 To Recordset.Fields.Count - 1
Range("A2").Offset(0, Col).value = Recordset.Fields(Col).Name
Next
'Write recordset
Range("A2").Offset(1, 0).CopyFromRecordset Recordset
End With
ActiveSheet.Columns.AutoFit
Set Recordset = Nothing
Connection.Close
Set Connection = Nothing
End Sub
uj5u.com熱心網友回復:
Source = "SELECT * FROM Orders Where [Voltage]=" & var
您要搜索變數中的值var,而不是變數的名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/484811.html
