im довольно новый для всего материала ADODB. Я написал код, пытаясь подсчитать столбцы, используемые этой конкретной базой данных. Но почему-то я получаю ошибку последующей: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 &" Provider ...... "' –
ah ok Спасибо, я буду играть с ним немного :) – user2868444