No.1ベストアンサー
- 回答日時:
念のため、
A) Server-A 上には "メインDB.mdb" がある。
B) PC-A 上には "サブDB.mdb" があり、"サブDB.mdb" 内にはクエリ "q01" がある。
C) "q01" は "サブDB.mdb" に保存されているデータだけを操作対象としている。
D) ユーザーは PC-A にインストールされている Access から Server-A 上の "メインDB.mdb" を開いて作業を行う。
E) (D) の作業の中で "メインDB.mdb" は "サブDB.mdb" を開いて "q01" を実行する。
(C) の所、ご確認ください。
ADO を使って相手の DB のデータを登録・編集・削除しgたり、ADO のレコードセットとして選択結果を受け取る程度であれば DSN を定義すればできます。
PC-A [コントロール パネル]-[パフォーマンスとメンテナンス]-[管理ツール]-[データ ソース(ODBC)] を開く。
[システム DSN] タブを選択。
[追加] ボタンをクリック。
ドライバ一覧から「Microsoft Access Driver (*.mdb)」を選択して [完了] をクリック。
[データ ソース名] に適当な名前を入力。(例として subDbAccess とします)
[選択] をクリックして "サブDB.mdb" を選択。
[OK] をクリックして <ODBC Microsoft Access セットアップ> ダイアログを閉じる。
[OK] をクリックして <ODBC データ ソース アドミニストレータ> ウィンドウを閉じる。
サブDB.mdb には "q01" という名前の選択クエリがすでにあるものとします。
以下、メインDB.mdb の適当な場所に記述
Dim con As New ADODB.Connection
con.ConnectionString = "DSN=subDBAccess;"
con.Open
Dim cmd As New ADODB.Command
cmd.ActiveConnection = con
cmd.CommandText = "q01"
cmde.CommandType = adCmdStoredProc
Dim rst As New ADODB.Recordset
rst.CursorType = adOpenForwardOnly
rst.LockType = adLockOptimistic
Set rst = cmd.Execute
Do While Not rst.EOF
Debug.Print rst.Fields("ID").Value
Debug.Print rst.Fields("firstName").Value
Debug.Print rst.Fields("lastName").Value
rst.Movenext
Loop
rst.Close
con.Close
Set rst = Nothing
Set cmd = Nothing
Set con = Nothing
クエリ q01 を実行した結果が rst に ADO のレコードセット オブジェクトとして格納されています。
結果が不要で、実行させっぱなしなクエリな場合は
単に cmd.Execute だけでもいけます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(年金) 企業年金(確定給付企業年金)についての勉強方法について 1 2022/05/21 23:32
- 日本語 dbとdBって違うんですか? 1 2022/05/04 00:15
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- SQL Server クエリで、日付が逆転したときは、二日分になるクエリを書きたいです。 4 2022/07/12 22:21
- Excel(エクセル) VBAのエラーが直せません 4 2023/06/12 22:10
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
他のMDBのマクロを実行する方法
Visual Basic(VBA)
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
accessでクエリの結果だけをリンクしたい。
Access(アクセス)
-
-
4
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
5
別のAccessファイルのフォームを開くには
Access(アクセス)
-
6
ACCESS VBAで別のACCESS(mdb)を起動できますか
Visual Basic(VBA)
-
7
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
8
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
9
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
10
他のMDBのテーブルに追加したい
その他(プログラミング・Web制作)
-
11
他ファイルのテーブルの情報を取得したい
Access(アクセス)
-
12
(ACCESS)複数mdbからのデータ取得方法
その他(Microsoft Office)
-
13
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
14
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
15
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
16
リンクテーブルを CopyObject するとリンク情報がコピーされる
その他(データベース)
-
17
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
18
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
19
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
20
アクセス クエリを別のファイルへコピーするには?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サブフォルダに格納されている...
-
IF文、条件分岐の整理方法
-
VBAコードのインデント表示
-
A列に記載されているフォルダ...
-
VB.net(VB)で、フォームにExcel...
-
VBAなくなるの?
-
【ExcelVBA】インデックスが有...
-
vba アクティブシートの名前変...
-
vba 削除
-
エクセルのマクロについて教え...
-
エクセルVBAにて =A1=B1とすれ...
-
VBA 別ブックから条件に合うも...
-
時間短縮のために、テキストフ...
-
ワードVBA どの表か知ることは...
-
エクセルのマクロについて教え...
-
エクセルのVBAコードについて教...
-
VBA指定行削除
-
VBAで大量のファイルをシート名...
-
VBA 別ブックからコピペしたい...
-
配列のペースト出力結果の書式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 作業後に選択範囲...
-
別のフォームで記述している関...
-
Sub Auto_Open() 実行されない
-
VBAでのユーザフォームの表示有...
-
エクセル マクロ 別シートから...
-
ACCESSで別DBにあるクエリを...
-
最小化ボタンで最小化したフォ...
-
Excel vba 条件分岐 空白セルが...
-
ascW関数の結果がおかしい
-
メニューバーのイベントが2回...
-
GetAsyncKeyState() を利用する...
-
ExcelVBAで毎月月初の最初にBoo...
-
Excelで、チェックボックスにチ...
-
excel2010でボタンが反応しなく...
-
Excelのマクロ実行後に動作が重...
-
実行時エラー9 インデックスが...
-
Excel VBAのステップイン
-
ステップモードの動作確認方法
-
excelのvbaを使って日付を置換...
-
質問2回目になっちゃいます ex...
おすすめ情報