У меня проблемы с получением Access (2010) VBA для перехвата ошибок для соединений с SQL Server (2008) для связывания таблиц.
Я получаю сообщения об ошибках и всплывающие окна, предположительно из ODBCВодитель?Я хочу подавить их и устранить ошибку самостоятельно.Я знаю о коллекциях DAO.errors и ADO.errors, но они не помогают, если я не могу заставить ошибку вызвать мой обработчик ошибок!
Приведенный ниже код выдаст ошибку (если только вы неиметь таблицу с именем myTable в базе данных с именем myDatabase на сервере с именем myServer).Я пытался использовать ADODB, а не DAO, но не смог заставить это работать вообще.Есть идеи?
Public Function main()
Dim myDB As DAO.Database
Dim myTabledef As DAO.TableDef
On Error GoTo Err_handler
Set myDB = CurrentDb
Set myTabledef = myDB.CreateTableDef("l_table")
DoCmd.SetWarnings False
myTabledef.Connect = "odbc;driver=SqLServer;" & _
"DATABASE=myDB;SERVER=myServer;Trusted_Connection=Yes;"
myTabledef.SourceTableName = "MyTable"
myDB.TableDefs.Append myTabledef
DoCmd.SetWarnings True
Exit Function
Err_handler:
MsgBox Err.Number & " - " & Err.Description
End Function
Я допустил ошибку в опубликованном коде {Sql Server} стал SqLServer, когда я его опубликовал.Таким образом, полный код, который дает ошибку ниже:
Public Function main()
Dim myDB As DAO.Database
Dim myTabledef As DAO.TableDef
On Error GoTo Err_handler
Set myDB = CurrentDb
Set myTabledef = myDB.CreateTableDef("l_table")
DoCmd.SetWarnings False
myTabledef.Connect = "odbc;driver={Sql Server};" & _
"DATABASE=myDB;SERVER=myServer;Trusted_Connection=Yes;"
myTabledef.SourceTableName = "MyTable"
myDB.TableDefs.Append myTabledef
DoCmd.SetWarnings True
Exit Function
Err_handler:
MsgBox Err.Number & " - " & Err.Description
End Function