

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も見ています
-
accessでクエリの結果だけをリンクしたい。
Access(アクセス)
-
他のMDBのマクロを実行する方法
Visual Basic(VBA)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
6
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
7
角丸四角形を描きたい
Excel(エクセル)
-
8
クエリーで、全角混じりデータの抽出[access95]
Access(アクセス)
-
9
ODBCリンクの際にACCESSでは読み取り専用にしたい!
Oracle
-
10
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
11
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
12
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
13
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
14
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
15
他のMDBのテーブルに追加したい
その他(プログラミング・Web制作)
-
16
別のAccessファイルのフォームを開くには
Access(アクセス)
-
17
アクセスのクエリでコンパイルエラーが出ます。
Access(アクセス)
-
18
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
19
ACCESSのMax(Min)関数使用方法
Access(アクセス)
-
20
アクセス クエリを別のファイルへコピーするには?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ascW関数の結果がおかしい
-
エクセルVBA 作業後に選択範囲...
-
別のフォームで記述している関...
-
BASIC ListViewの選択された行...
-
ACCESSで別DBにあるクエリを...
-
VBAでのユーザフォームの表示有...
-
MATLABの乱数生成関数 rand( ) ...
-
C++Builderのエラー...
-
LISPで C言語のフォーマット書...
-
Pycharmにおいてturtle を使う方法
-
ステップモードの動作確認方法
-
エクセル マクロ 別シートから...
-
メニューバーのイベントが2回...
-
エクセルで条件をつけて図形を...
-
2点間の距離をミリ秒単位で求め...
-
ワードで、グレーの部分しか入...
-
ホームページビルダーで価格.c...
-
地図の座標から方位を割り出す...
-
ダウンローダ(Irvineなど)で...
-
医療費集計フォームの読み込み...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 作業後に選択範囲...
-
別のフォームで記述している関...
-
VBAでのユーザフォームの表示有...
-
Excel VBA 選択範囲の罫線色の...
-
ascW関数の結果がおかしい
-
エクセル マクロ 別シートから...
-
ACCESSで別DBにあるクエリを...
-
Sub Auto_Open() 実行されない
-
最小化ボタンで最小化したフォ...
-
ステップモードの動作確認方法
-
Excel VBAのステップイン
-
excelのvbaを使って日付を置換...
-
メニューバーのイベントが2回...
-
Excelのマクロ実行後に動作が重...
-
Excelで、チェックボックスにチ...
-
円の中に等間隔に線を引くには
-
ExcelVBAで毎月月初の最初にBoo...
-
ie6を使って自分が見ているサイ...
-
続き…エクセルvba ①SUBメニ...
-
エクセルのVBAにショートカット...
おすすめ情報