回答受付中の質問
質問:No.1778540
困ってます
お気に入り投稿に追加する (0人が追加しました)
回答数1
閲覧数258
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のところが間違っているのでしょうか?

どうか、教えてください。お願いします。
投稿日時 - 2005-11-14 16:03:50
あなたの言葉で、相談者さんの悩みを解決しませんか?
OKWaveではみんなのありがとうの輪を広げています!
この質問は役に立ちましたか?
0人が「このQ&Aが役に立った」と投票しています
回答
回答:No.1
複数のmdbファイルをSQL文等で操作する場合は、外部ファイルのテーブルをリンクテーブルとして自データベースに登録して置かなければなりません。

データベースウィンドゥ(F11キーで出る画面)のテーブルの所で、リンクテーブルを登録して下さい。

http://www.nbcom.co.jp/PC-Support/FAQ/acc/ht/acc032002ht001.shtml

リンクしたテーブルは、あたかも自データベース内にあるテーブルのように振舞うので、普通にSQL文を書けばよくなります。
勿論、データベースの切り替えも不要で、カレントデータベース(つまり自データベース)にアクセスすれば済みます。
投稿日時 - 2005-11-14 16:18:59
この回答を支持する
(現在1人が支持しています)
補足
ご回答ありがとうございます。VBSの中で、mdbファイルをコピーし、その元ファイルと、コピー先を同時に操作するプログラムを書いています。その際も、リンクテーブルを登録することで、解決できるのでしょうか?お手数ですが、アドバイスお願いします。
投稿日時 - 2005-11-15 08:42:44
もっと聞いてみる
関連するQ&Aはこちら
windwsXP、VB2005EXPRESSEDITIONを利用しています。 タイトルのとおりOLEDBにて接続した.mdbデータベースが存在するとして、発行したとします。 そうすると、データベース自...
海外在住の友達からのお願いで... \'xjis.nls\'をメールしてと頼まれました。 PCを購入したけど、日本語入力が出来ないとの事 何をどうメールしていいんでしょうか? 私...詳しくな...
OLEDBプロバイダとは何ですか。プロバイダというと料金を払いますが、このOLEDBプロバイダもどこかの会社に料金を払うとかあるのですか? ...
この他の関連するQ&Aをキーワードで探す
プログラミングのサブカテゴリ
カテゴリ:Visual Basic
RSS
-PR-
PR
-PR-