即時通訊工具全新的東西。我編寫了一個代碼,用於計算與此特定數據庫一起使用的列。但不知何故,我得到了如下錯誤:VBA Excel 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
在我看來你的連接字符串有問題。檢查[這裏](https://www.connectionstrings.com/dbf-foxpro/) –
順便說一下,'.Open'方法只傳遞'sConnectionString'的最後一個值。可能你錯過了應該以這種方式完成的其他部分的連接:'sConnectionString = sConnectionString&「提供程序......」' –
啊好吧,謝謝我會玩一下:) – user2868444