Access 2010 ADO в режиме Windows XP (в формате ADDE) - PullRequest
1 голос
/ 16 февраля 2012

У меня проблема с ADO в Моем приложении.У меня установлен Access на моем компьютере с Win7Pro, и я могу использовать обе версии (ACCDB и ACCDE).Но только ACCDB работает во время выполнения (с SP1) в среде WinXPMode.

Существует код

Dim strSQL As String, Cnxn As ADODB.Connection, Rsxn As ADODB.Recordset
Dim lngDummy As Long
lngCount = DCount("[Sklad]", "cisSklad", "[Zobrazit]")
CountData = lngCount
If CountData = 0 Then Exit Sub
ReDim ItemValues(lngCount - 1)
Set Cnxn = CurrentProject.AccessConnection
Set Rsxn = New ADODB.Recordset
... 

В ACCDE (под RunTime в XPMode): строка Set Cnxn = CurrentProject.AccessConnectionвернуть сообщение Ошибка 13: Несоответствие типов.

У меня есть ссылка на ADO 2.8.

Debug.Print CurrentProject.AccessConnection: Provider = Microsoft.Access.OLEDB.10.0; Persist Security Info = False; Источник данных = C: \ Work \ SkladII \ Sklad.accde; Пользователь = Admin;Поставщик данных = Microsoft.ACE.OLEDB.12.0

Все таблицы в sklad.accde связаны

У вас есть идеи, в чем проблема?

1 Ответ

1 голос
/ 16 февраля 2012

Проверьте, не связана ли эта проблема с ранним связыванием ADO в WinXPMode. Удалите ссылку на ADO и измените код, чтобы использовать позднюю привязку.

Dim strSQL As String, Cnxn As Object, Rsxn As Object
Set Cnxn = CurrentProject.Connection
'Set Rsxn = New ADODB.Recordset
Set Rsxn = CreateObject("ADODB.Recordset")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...