VBA Excel ADODB计数字段

我相当新的整个ADODB的东西。 我写了一个代码,试图计算正在使用这个特定数据库的列。 但不知何故,我得到以下错误:

运行时错误“-2147217900(80040e14)”:语法错误

我已经尝试了几种方法来阅读这些列,但是我无法完成这个工作。 有人可以给我一个线索如何解决这个问题吗? 提前致谢 :)

Public Function GetParameterDbfTotalColumn() As Long Dim sConnectionString As String Dim mdbConn As ADODB.Connection Dim mrst As ADODB.Recordset Dim pPath As String Dim sTable As String GetParameterDbfTotalColumn = -1 pPath = "C:\ProgramData\Citect\CitectSCADA 7.20\User\Huisman V4\parameters.dbf" Set mdbConn = New ADODB.Connection sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pPath & ";Extended Properties=""DBASE IV;"";" sConnectionString = "Driver={Microsoft dBase Driver (*.dbf)};DefaultDir=" & pPath & ";Extended Properties=""DBASE IV;"";DriverId=533;CollatingSequence=ASCII;Deleted=0;FIL=dBase 5.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Statistics=0;Threads=3;UserCommitSync=Yes;" sConnectionString = "Provider=VfpOleDB.1;Data Source=" & pPath & ";Collating Sequence=MACHINE;Exclusive=ON" mdbConn.Open sConnectionString Set mrst = New ADODB.Recordset mrst.Open sTable, mdbConn, adOpenDynamic, adLockPessimistic, adCmdTable GetParameterDbfTotalColumn = mrst.Fields.Count GetParameterDbfTotalColumn = 0 Exit Function End Function 

这个

 sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pPath & ";Extended Properties=""DBASE IV;"";" sConnectionString = "Driver={Microsoft dBase Driver (*.dbf)};DefaultDir=" & pPath & ";Extended Properties=""DBASE IV;"";DriverId=533;CollatingSequence=ASCII;Deleted=0;FIL=dBase 5.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Statistics=0;Threads=3;UserCommitSync=Yes;" sConnectionString = "Provider=VfpOleDB.1;Data Source=" & pPath & ";Collating Sequence=MACHINE;Exclusive=ON" 

最后只是第三行,所以你的sConnectionstring实际上只是

 "Provider=VfpOleDB.1;Data Source=" & pPath & ";Collating Sequence=MACHINE;Exclusive=ON" 

你必须不断添加比特(连接)到你的连接stringie

 sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pPath & ";Extended Properties=""DBASE IV;"";" sConnectionString = sConnectionString & "Driver={Microsoft dBase Driver (*.dbf)};DefaultDir=" & pPath & ";Extended Properties=""DBASE IV;"";DriverId=533;CollatingSequence=ASCII;Deleted=0;FIL=dBase 5.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Statistics=0;Threads=3;UserCommitSync=Yes;" sConnectionString = sConnectionString & "Provider=VfpOleDB.1;Data Source=" & pPath & ";Collating Sequence=MACHINE;Exclusive=ON"