クエリを設計したあとテーブルの構成を変更したとき、クエリを編集したくてもデザインビューに切り替えられないことがある。
シンプルなクエリであればSQLビューで直接、式を編集してみるしかない。
例:「書籍マスタ」に外部キーとして「利用者マスタ」の「キャラID」が含まれ、相応の選択クエリを組んだ後、その構成が不要となり「書籍マスタ」から「キャラID」を削除したケース
【修正前】
SELECT 書籍マスタ.書籍ID, 書籍マスタ.書名, 書籍マスタ.[キャラID ], 利用者マスタ.[キャラ名]
FROM 書籍マスタ LEFT JOIN 利用者マスタ ON 書籍マスタ.[キャラID ] = 利用者マスタ.[キャラID];
【修正】
SELECT 書籍マスタ.書籍ID, 書籍マスタ.書名
FROM 書籍マスタ;
他オブジェと結合後のテーブルを編集する際は、クエリの関係フィールドを整理してから。フォームやレポートは後出しの編集も可能だけど、クエリは全体が機能しなくなるから気を付けないといけない。
今回、貸出入力簿の作成にあたり、数値のみである書籍IDのデータ型を意図的に「短いテキスト」としている。
当初の設定は数値型だったが、書籍マスタ&貸出トランのリレーションの際、プロパティシートの規定値を0にしていても、フォーム読み込み時にAccessがマスタキーを0埋めし、勝手にレコードに0が書き込まれ+データ不整合によりAccessが落ちる現象が起きてしまい、かなりの時間をムダにした。
データ型を「短いテキスト」にすると症状は治まった。
これまで例題を解いていて、数値しかないフィールドにテキスト型が使われていて不思議だった記憶があるが、そういうことが背景かも知れない。
ただ、テキスト型だと昇順/降順が反映させられないので一長一短だと思う。