如何使用ADO正确查询Excel工作表?

以下是我要查询的数据:

如何使用ADO正确查询Excel工作表?

我在microsoft documentation的此文档中运行了本文档中找到的代码,如下所示:

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",adCmdText上遇到错误

我收到运行时错误:No value for given for one or more required parameters

coo1cool798 回答:如何使用ADO正确查询Excel工作表?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2792726.html

大家都在问