Ниже приведены данные, которые я пытаюсь запросить:
Я запустил код, который был найден в этой документации в этой Microsoft документация , как показано ниже:
Sub query()
On Error Resume Next
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H1
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\Sun-Lap\Desktop\Sample (Payroll).xlsm; Extended Properties=""Excel 8.0; HDR=YES"";"
objConnection.Open connectionString
objRecordset.Open "Select * FROM [DailyTimeRecord$] Where Person = JOHN", _
objConnection, adOpenStatic, adLockOptimistic, adCmdText
Do Until objRecordset.EOF
Wscript.Echo objRecordset.Fields.Item("Date"), _
objRecordset.Fields.Item("Person")
objRecordset.MoveNext
Loop
End Sub
On Error Resume Next
вызывает бесконечное выполнение моего приложения и зависает мое приложение.
Я попытался заменить Microsoft.Jet.OLEDB.4.0
на Microsoft.ACE.OLEDB.12.0
на основе предложение. Я также попытался заменить Extended Properties=""Excel 8.0; HDR=YES"";
на Extended Properties=""Excel 12.0 Macro; HDR=YES"";
Но я все еще получаю ошибку на objRecordset.Open "Select * FROM [DailyTimeRecord$] Where Person = JOHN", _
objConnection, adOpenStatic, adLockOptimistic, adCmdText
Я получаю ошибку времени выполнения: No value for given for one or more required parameters