

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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
accessでクエリの結果だけをリンクしたい。
Access(アクセス)
-
他のMDBのマクロを実行する方法
Visual Basic(VBA)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
5
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
6
別のAccessファイルのフォームを開くには
Access(アクセス)
-
7
角丸四角形を描きたい
Excel(エクセル)
-
8
ODBCリンクの際にACCESSでは読み取り専用にしたい!
Oracle
-
9
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
10
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
11
Vbaでアクセスからエクセルにリンクテーブルする
Access(アクセス)
-
12
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
13
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
14
ACCESS検索★ある文字を複数のフィールドの中から検索したい
その他(コンピューター・テクノロジー)
-
15
アクセスのフィールド表示を2段にする方法・抽出の方法
Access(アクセス)
-
16
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
17
エクセルからアクセスのプロシージャーを実行させるには?
Excel(エクセル)
-
18
クエリーで、全角混じりデータの抽出[access95]
Access(アクセス)
-
19
アクセス 項目毎にデータを横に並べる方法
Access(アクセス)
-
20
テキストボックスにクエリ結果を表示させたい
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
WindowsのOutlook を VBA から...
-
【ExcelVBA】値を変更しながら...
-
ExcelのVBAコードについて教え...
-
VBAでCOPYを繰り返すと、処理が...
-
マクロの記録を使用したマクロ...
-
vba textboxへの入力について教...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Excelのマクロについて教えてく...
-
Vba WorkBooks.Openについて教...
-
VBAから書き込んだ条件付き初期...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】5万行以上のデー...
-
[Excel VBA]特定の条件で文字を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 作業後に選択範囲...
-
別のフォームで記述している関...
-
エクセル マクロ 別シートから...
-
VBAでのユーザフォームの表示有...
-
ascW関数の結果がおかしい
-
Excel VBA 選択範囲の罫線色の...
-
ACCESSで別DBにあるクエリを...
-
Sub Auto_Open() 実行されない
-
円の中に等間隔に線を引くには
-
ExcelVBAで毎月月初の最初にBoo...
-
エクセルのVBAにショートカット...
-
GetAsyncKeyState() を利用する...
-
最小化ボタンで最小化したフォ...
-
エクセルVBAのコードで質問です...
-
メニューバーのイベントが2回...
-
続き…エクセルvba ①SUBメニ...
-
Excel VBAのステップイン
-
Excelで、チェックボックスにチ...
-
MATLABの乱数生成関数 rand( ) ...
-
Visual Basic 6.0のフォームの...
おすすめ情報