[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にコピーする