このページの短縮URL(リンク用) §01-09…外部結合で存在しないレコードも表示させる(不一致クエリ) – オンライン無料パソコン講座 | PCセミナー

§01-09…外部結合で存在しないレコードも表示させる(不一致クエリ)

(1)「T申込データ」を元に、登録した人の[姓][名]も追加表示させるクエリを新しく作成しましょう。誰が何番のセミナーにいつ申し込んだのか?がわかるようになります。なお[処理番号]の昇順になるように設定しておきます。作成後はクエリを実行します。

(2)以下のようなクエリが作成されました。ここではリレーションシップの研究をします。[会員番号]を使ったリレーションシップクエリを作成すると両方のテーブルに存在する[会員番号](会員)の情報が表示されます。逆にいうと片方(T会員マスター)には登録されているが、「T申込データ」で利用されていない会員のデータは表示されないのです。

(3)ここでは「T申込データ」で利用されていない会員も表示されるよう設定します。不参加の人を発見したいのです。デザインビューに切り替え、[会員番号]を結ぶ線をダブルクリックしてください。

(4)ここでクエリのレコード表示状態を変更することができます。「T会員マスターの全レコードと…」を選択してOKします。こうすると「T申込データ」で使用されていない会員も、参考用に表示されるのです。これで申込履歴がない会員がわかります。

(5)クエリを実行し、データシートビューに切り替えましょう。

(6)「本田・植松・斎藤」の3名には申込履歴がないことがわかります。申込履歴がない人は、「T申込データ」の中に[処理番号][セミナーCD][申込日]がないのです。ただ[会員番号]はあるはずなのに表示されていません。この現象は「T申込データ」にこの人たちの[会員番号]がないために発生しています。次にこれを表示させます。デザインビューに戻してください。

(7)「本田・植松・斎藤」の3名の[会員番号]は、「T申込データ」では使われていません。しかし「T会員マスター」には登録されています。デザイングリッドにある[会員番号]の<テーブル>を「T会員マスター」に変更すれば、データシートビューで表示されるようになります。変更してからデータシートビューへ切り替えましょう。

(8)会員番号が表示されました。次に、この申込履歴がない人たちだけを抽出するクエリに変更します。デザインビューへ切り替えます。

(9)申込履歴がない人には、「T申込データ」の[処理番号]がありません。この「ない」を表すのが「Null(ヌル)」、正確には、「Is Null」です。[処理番号]の[抽出条件]に「null」を半角で指定します。「Is Null」となったら[会員番号]の「昇順」になるよう設定しデータシートビューへ切り替えてください。

(10)セミナーに参加経験のない人のリストの作成が完了しました。このクエリは
「Q未出席者」という名前で保存しましょう(オブジェクトはすべて閉じる)。