次の方法で共有

テーブルAからテーブルBへ条件によって値を代入したい

Anonymous
2015-08-26T01:57:22+00:00

現在、Access上でフォーム+サブフォーム構成の台帳を作って運用しています。

フォーム上の情報はテーブルA、サブフォーム上の情報はテーブルBに保存される形式です。

今回、フォーム上に1クリックでテーブルB→テーブルAの情報を移動するマクロボタンを作ろうとして行き詰っています。

具体的にはテーブルAの「台帳番号A」、「項目A」、テーブルBの「年度B」、「台帳番号B」、「項目B」というフィールドを使って次のようなマクロを組みたいです。

①テーブルBの全レコードのうち「年度B」が"H27"のものを探す。

②「年度B」が"H27"のレコードの台帳番号を「台帳番号B」、項目を「項目B」とする。

「台帳番号B」とおなじ台帳番号を持つテーブルAのレコードを探す(そのレコードの台帳番号を「台帳番号A」とする)

③「台帳番号A」のレコードの「項目A」に「項目B」の値を代入する。

Excelだとif関数とfor~next関数で簡単に書けそうなのですがAccessだとうまくいきません。

お手数ですがご教授の方をよろしくお願いします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

2 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2015-08-27T00:03:40+00:00

    おかげさまでうまくいきました!

    ありがとうございます!!

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2015-08-26T14:48:25+00:00

    台帳番号Aおよび台帳番号Bの一意性が保証されていて、且つ、年度Bのデータ型が「短いテキスト」であるという仮定の下で

    DoCmd.RunSQL "UPDATE テーブルA INNER JOIN テーブルB ON テーブルA.台帳番号A=テーブルB.台帳番号B SET テーブルA.項目A=テーブルB.項目B WHERE テーブルB.年度B='H27'"

    なるVBAのコードで当該操作を実現できませんでしょうか?

    参考にしたウェブサイト(英語)

    https://social.msdn.microsoft.com/Forums/ja-JP/1b72c07c-3228-4f52-b2e4-30a56ba020a3/update-inner-join?forum=accessdev

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません