MSDE FunClub | 最終更新日 : 2000/11/03 | |
Microsoft Data Engine FunClub |
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻) | ||
【第22章429p 〜 431p掲載】 |
' '*************************************************************** ' ' 【Accessデータベースの中にあるテーブルをSQLserverに転送します】 ' ' このプログラムを、Accessのモジュールシートに読み込んで実行します ' ' (株)日本技術ソフト開発 堀川 明 ' http://www.horikawa.ne.jp/msde/ ' '*************************************************************** ' Option Compare Database Option Explicit ' '接続用ログイン情報の定義 ' Const ServerName = "Server_Name" '接続先データベースサーバー名 Const LoginName = "Login_Name" 'ログイン名 Const PassWord = "Pass_Word" 'そのパスワード Const DBName = "DBName" '接続先データベースの名前 ' Function TRANS() Dim dbnm$, odbc$, tbnm$, m%, i% 'ODBC接続用文字列の定義 dbnm$ = "ODBC;uid=" & LoginName & ";pwd=" & PassWord & ";driver={SQL Server};" & _ "server=" & ServerName & ";database=" & DBName & ";DSN=''" ' 'Accessのバージョンによって、カナ文字が半角から全角に変わりました '引数の値が微妙に違います。注意しましょう。 ' Select Case SysCmd(acSysCmdAccessVer) Case "7.0" 'Access95 ですか? odbc$ = "調べていません。Access97と同じでしょう" Case "8.0" 'Access97 ですか? odbc$ = "ODBC 【注意:半角カナ文字のデータベースです】" Case "9.0" 'Access2000 ですか? odbc$ = "ODBC データベース" End Select 'テーブル個数(但しアクセスのシステムテーブルを含む) m = CurrentDb.TableDefs.Count 'TableDefsの添字は 0 から For i = 0 To m - 1 'テーブルの名前を取得 tbnm$ = CurrentDb.TableDefs(i).Name 'アクセスのシステムテーブルを除く If Left(tbnm$, 4) <> "MSys" Then '転送しますか? If MsgBox(tbnm$ & vbCrLf & "このテーブルを転送しますか?", _ vbYesNo, "転送しますか?") = vbYes Then 'Access -> SQLServer 転送処理を行う DoCmd.TransferDatabase acExport, odbc$, dbnm$, acTable, _ tbnm$, tbnm$, False End If End If Next MsgBox "転送処理が終了しました", , "終了" End Function