Access

クエリが参照するテーブルを変更した場合(Access)

2019年11月2日

テーブルの名前を変更したり、フィールドを追加しても、クエリに反映されませんよね。そこでクエリに表示されているテーブルを削除して、再追加して・・・などとしていては修正が多岐に亘り非常に面倒だと思います。

変更箇所

クエリ

クエリのデザインを開きます。クエリに表示されるテーブルが以下のようだとします。ここでテーブルで「削除」というフィールドを追加したので、クエリに反映させたいと思います。

タブの箇所で右クリックをして【SQLビュー】を選んで開きます。

次のようなSQLが書かれた画面になります。

SELECT Q_メイン.日付, Q_メイン.部品コード, Q_メイン.部品型式, Q_メイン.数量, Q_メイン.単位, Q_メイン.[メーカー], Q_メイン.保管場所, Q_メイン.入出庫, Q_メイン.社員
FROM Q_メイン
ORDER BY Q_メイン.日付 DESC;

一旦、テキストエディタにコピーするか、この画面で編集します。(テキストエディタにコピーした方が安全ですので推奨します)

今回はクエリに「削除」という項目を追加するので、

SELECT Q_メイン.日付, Q_メイン.部品コード, Q_メイン.部品型式, Q_メイン.数量, Q_メイン.単位, Q_メイン.[メーカー], Q_メイン.保管場所, Q_メイン.入出庫, Q_メイン.社員, Q_メイン.削除
FROM Q_メイン
ORDER BY Q_メイン.日付 DESC;

と、「, Q_メイン.削除」を追記しました。保存して、クエリのデザインを開き直しますと、

大幅な改造なしにクエリを変更できました。

フォーム上のコントロール

フォームに配置したコントロールがテーブルやクエリを参照している場合、プロパティを変更します。【プロパティシート】の【データ】タブ内にある【値集合ソース】です。変更したテーブル名やフィールド名に合わせて値集合ソースも修正します。これもテキストエディタにコピーして作業したほうがやり易いです。

サブフォームの修正

フォームの中にサブフォームコントロールを貼り付けてあり、その中のテーブルやクエリ名、テーブルのフィールド名を変更した場合の修正です。

サブフォーム単体を開き、右クリックにて【フォームのプロパティ】を選びます。フォームのプロパティシートの【データ】タブ内にある【レコードソース】を変更したテーブル名やフィールド名に合わせて修正します。

VBAの修正

VBA内のSQL文などに変更点がある場合もコツコツ修正していきます。

グチ

元を修正したら、関連する箇所も一斉に連動して修正されると嬉しいのですが…

-Access