- 締切済み
VBSのデータベース操作で、複数mdb扱いたい
VBSにて、Accessのmdbファイルを操作するのですが、複数mdbファイルを操作することは可能なのでしょうか? 以下は、A.mdbのオブジェクトから、取得した値でフォルダを作成し、A.mdbをコピーして、コピー先のmdbファイルのオブジェクトより、データ削除をしようとしています。ただ、mdbファイルを複数指定したもののどこでファイルが紐づくのかわかりません。 'コピーや、フォルダ作成済、ADO定数ファイルの読み込み済 strDbName1 = A.mdb strDbName2 = Pフォルダ\A.mdb Set objAdoCon = WScript.CreateObject("ADODB.Connection") If Err.Number = 0 Then objAdoCon.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strDbName1 " & ";" & strDbName2 '複数指定 ※1 objAdoCon.Open Set objAdoRset = WScript.CreateObject("ADODB.Recordset") このあと、strDbName1 , strDbName2 を使い分けるにはどのようなSQL文を書けばよいのでしょうか? もしかしたら、※1のところが間違っているのでしょうか? どうか、教えてください。お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chie65536
- ベストアンサー率41% (2512/6032)
複数のmdbファイルをSQL文等で操作する場合は、外部ファイルのテーブルをリンクテーブルとして自データベースに登録して置かなければなりません。 データベースウィンドゥ(F11キーで出る画面)のテーブルの所で、リンクテーブルを登録して下さい。 http://www.nbcom.co.jp/PC-Support/FAQ/acc/ht/acc032002ht001.shtml リンクしたテーブルは、あたかも自データベース内にあるテーブルのように振舞うので、普通にSQL文を書けばよくなります。 勿論、データベースの切り替えも不要で、カレントデータベース(つまり自データベース)にアクセスすれば済みます。
補足
ご回答ありがとうございます。VBSの中で、mdbファイルをコピーし、その元ファイルと、コピー先を同時に操作するプログラムを書いています。その際も、リンクテーブルを登録することで、解決できるのでしょうか?お手数ですが、アドバイスお願いします。