OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

AccessVBAで他テーブルのデータを取得する方法について。

  • すぐに回答を!
  • 質問No.214781
  • 閲覧数1208
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 50% (5/10)

>はじめまして、私は、AccessVBAであるプログラム(仕事用)を作っていますが、初心者でもあり、行き詰まってしまいました。

テーブル1にフィールド1,2,3,4,5があり、各フィールドには、データが入力されています。
テーブル2には、フィールド1,2,3,4,5,6,7があり、フィールド1,2,3はテーブル1のフィールド1,2,3と同じデータが入力されています。
そこで、テーブル2のフィールド4,5に、テーブル1のフィールド4,5のデータを、プログラムを用いて取り込みたいのですが、どうすればいいのですか。

よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル13

ベストアンサー率 46% (643/1383)

プログラムを書かずとも、更新クエリを使えばいいと思いますよ。

1:クエリを新規作成して、テーブル1、テーブル2をクエリに追加します。

2:んで、フィールド1,2,3をそれぞれマウスを使って結び付けます。

3:[クエリ]-[更新]を実行

4:テーブル2のフィールド4,5をクエリ下部のフィールド欄に追加

5:フィールド4のレコードの更新欄に「[テーブル1].[フィールド4]」などと入力(カギ括弧は不要)

6:フィールド5についても同様。

7:[!]ボタンをクリック。もしくは、クエリを保存してから、そのクエリをダブルクリックして実行する。

以上で、フィールド4,5の取り込みが完了するはずです。

尚、このクエリをプログラムから実行するには、

CurrentDB.Execute "更新クエリ名"
を実行します。

Dim DB as Database
Set DB = CurrentDB
DB.Execute "更新クエリ名"
MsgBox DB.RecordsAffected
などとすると、変更のあったレコード数を知ることが出来ます。



蛇足になりますが、ご質問の内容に真っ正直に答えるとすると、
複数テーブルを参照する選択クエリを作成(上記を参照)して、
Dim RS As Recordset
Set RS = CurrentDB.OpenRecordSet("クエリ名")

で、複数テーブルをプログラムから開けます。
補足コメント
takabon02051016

お礼率 50% (5/10)

早速教えて頂いたとおり行ってみました。
クエリはうまくいったのですが、プログラムで実行する時に、DB AS Databaseの変数確保で、ユーザー定義は使用できないというエラーが、発生してしまいました。
当然ですね、DAOならいいのですがADOでプログラムを作っているのですから、宣言から異なる事に気がつきました。
そこで、
Dim cn As ADODB.Connection
Set cn = CurrentProject.Connection
cn.Execute "クエリ名"
オブジェクトを変えてみたところ成功です。
プログラム完成までは、まだまだ先の長い話ですが今後ともよろしくお願いします。
ありがとうございました。
投稿日時 - 2002-02-10 17:02:11
お礼コメント
takabon02051016

お礼率 50% (5/10)

今までは、エクセルで行っていたんですが、いろいろ問題もあり、データベースからレポートという、手法が必要となりました。
今回のプログラムは、3月末までに、レポートも含めて完成させなければなりません。
今まで、基礎となるデータを各テーブルを作成し、入力してきました。
今後は、そのデータを用いて、あらゆるレポートを作成しなければなりません。
今回の質問は、その過程における効率化(手作業は不可)の部分です。
したがって、何かのCmdボタンをクリックしただけで、基礎データにあるものは、条件が合えば抽出して、使用するという事柄でした。
一度、クエリについて勉強してみます。
また、ご相談する事と思いますが、よろしくお願いします。
投稿日時 - 2002-02-09 21:28:51
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 33% (1403/4213)

「クエリを作成する」ではだめなんですか? ...続きを読む
「クエリを作成する」ではだめなんですか?
補足コメント
takabon02051016

お礼率 50% (5/10)

回答ありがとうございます。
「谷尻かおり書」に更新クエリが掲載されていたので参考にましたが、他テーブルのオープン等プログラムの記述がわからずエラーとなっています。
そのあたりを、参考プログラムで詳しく教えていただけるとありがたいです。
投稿日時 - 2002-02-09 18:59:21
お礼コメント
takabon02051016

お礼率 50% (5/10)

クエリを作成し、プログラムで実行することとし、成功しました。
プログラム完成までは、まだまだ先の長い話ですが今後ともよろしくお願いします。
ありがとうございました。
投稿日時 - 2002-02-10 17:07:10


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ