У меня есть файл Access ADP. Я обновил внутреннюю базу данных, чтобы она указывала на сервер SQL 2005 вместо сервера SQL 2000, и соответствующим образом изменил информацию о подключении к базе данных. Файл отлично работает в моей собственной системе, работающей под управлением Windows 7 (64-разрядная версия) и Access 2007. В целевых системах под управлением Windows XP и Access 2007 основная функциональность базы данных почти сразу же взрывается с появлением «Ошибка выполнения» '13': где определение соединения по умолчанию - DAO, но база данных использует объект ADO. Однако при просмотре кода каждый экземпляр соединения специально объявляется как «ADODB.Connection».
Рассматриваемый код, вызывающий ошибку, таков:
Public Sub Tools()
dim db as ADODB.Connection
dim sql as String
sql = "Select SSPatch from tblPlastech"
set db = CurrentProject.Connection ' THIS LINE CAUSES THE TYPE MISMATCH ERROR
dim rst as ADODB.RecordSet
set rst = New ADODB.RecordSet
rst.open sql, db, adOpenKeyset, adLockOptimistic
gsSSpath = rst!sspath
QUOTES = Chr(34)
rst.Close
set rst = Nothing
db.Close
set db = Nothing
End Sub
Может ли кто-нибудь пролить свет на проблему? Прямо сейчас я в тупике.