オートルックアップクエリって何?
テーブル間の結合が一対多のリレーションシップの関係にある場合、クエリのデータシートビューで多側テーブルの結合フィールドにデータを入力すると、対応する一側テーブルのデータが自動表示されます。
このようなクエリをオートルックアップクエリと呼びます。オートルックアップクエリでは、結合フィールドを多側テーブルから配置しないと、一側テーブルのデータを正しく自動表示できないので注意してください。
データを編集したら他のレコードも変わってしまった
オートルックアップクエリは、基本的に多側テーブルのレコードを入力するためのクエリです。一側テーブルから配置したフィールドは、参照するためのものと考えましょう。一側テーブルの同じデータが複数のレコードに表示されるため、1カ所でデータを編集すると複数のレコードで表示が変わってしまいます。一側テーブルのデータは編集しないようにしましょう。
なお、このような失敗を防ぐには、クエリを基にフォームを作成し、参照用のフィールドの編集を禁止しておきましょう。
レコードの並び順がおかしい
複数のテーブルを基にするクエリの場合、どのテーブルのフィールドが並べ替えの基準になるか明確な決まりはありません。そのため、レコードを入力後にクエリを開き直すと、意図しない順序でレコードが並んでいることがあります。正しく並べ替えの設定を行いましょう。
同じデータが何度も表示されてしまう
クエリに追加した複数のテーブルが結合線で結ばれていないと、データシートには各テーブルのレコード数を掛け合わせた数のレコードが表示されてしまいます。レコード同士を正しく組み合わせて表示するには、テーブル同士を共通のフィールドで結合しましょう。
オートルックアップクエリで一側テーブルのデータが自動表示されない
オートルックアップクエリでは、上記を参考に結合フィールドを必ず多側テーブルから配置します。同じフィールドが一側テーブルにもありますが、一側テーブルから配置した場合は、結合フィールドにデータを入力しても対応する一側テーブルのデータは自動的に表示されません。
また、入力したレコードを保存できないことがあるなど、トラブルの原因になるので、必ず多側テーブルから配置しましょう。
オートルックアップクエリに新規レコードを入力できない
オートルックアップクエリでは、多側テーブルの結合フィールドが配置されていないと、新規レコードが入力できないことがあります。多側テーブルの結合フィールドをクエリに追加しましょう。
オートルックアップクエリで新規レコードを保存できない
オートルックアップクエリで新規レコードを保存するときに、「フィールド(フィールド名)とキーが一致しているレコードをテーブル(テーブル名)で探すことができません。」という内容のダイアログボックスが表示されて保存できないことがあります。
テーブルでは結合フィールドが未入力のままでも保存できますが、オートルックアップクエリの既定の設定では結合フィールドが未入力のままでは保存できません。なお、テーブル間に右外部結合を設定すれば、結合フィールドが未入力のままでも保存できます。