[Access VBA] SQLServerのテーブルをODBC接続でAccessにインポートする方法
AccessからSQLServerのテーブルを参照したいが、直接接続すると問題があるときには、一旦Accessにテーブルをインポートしてから参照する
8行目:Access内のインポートテーブルをあらかじめ削除しておく。削除しないと11行目のインポート処理でテーブルが上書きされず、末尾に連番が付与されたテーブル名になる
11行目:インポート処理。SQLServerのテーブルをAccessにコピーする
AccessにSQL Serverのテーブルをインポートする
前提として、SQL Serverに対するODBC接続が定義されていること
<SQL>
○処理の内容Function OdbcTableImport() As Integer
On Error GoTo Err_Handler
Dim DB_Connect_String As String
OdbcTableImport = 0
DB_Connect_String = "ODBC;DSN=[ODBC接続名];UID=[ユーザID];PWD=[パスワード]"
DoCmd.DeleteObject acTable, "[Accessテーブル名]"
DoCmd.Hourglass True
DoCmd.TransferDatabase acImport, "ODBC データベース", DB_Connect_String, acTable, "[SQLServerテーブル名]", "[Accessテーブル名]"
DoCmd.Hourglass False
OdbcTableImport = Nz(DCount("*", "[Accessテーブル名]"), 0)
Exit Function
Err_Handler:
Select Case Err
Case 3011
Resume Next
Case Else
Resume Next
End Select
Exit Function
End Function
8行目:Access内のインポートテーブルをあらかじめ削除しておく。削除しないと11行目のインポート処理でテーブルが上書きされず、末尾に連番が付与されたテーブル名になる
11行目:インポート処理。SQLServerのテーブルをAccessにコピーする