Ms-access-unmatched-query-wizard
MS Access-一致しないクエリウィザード
Accessには、もう1つの非常に便利なウィザードがあり、それは Find Unmatched Query Wizard です。 一致しないクエリの検索ウィザードは、あるテーブルのレコードまたは行を検索し、別のテーブルに関連レコードがないクエリを作成します。
クエリでデータを結合する方法、およびほとんどのクエリが2つ以上のテーブル間の一致をどのように検索するかについては既に説明しました。
- これはAccessの既定の結合です。たとえば、 tblCustomers と tblOrders の2つのテーブルでクエリを設計し、CustomerIDでこれらの2つのテーブルを結合すると、このクエリは一致する結果のみを返します。 つまり、注文した顧客。
- 一致を表示したくない場合があります。たとえば、データベース内の顧客(まだ注文していない顧客)を表示したくない場合があります。
- これがまさに、一致しない検索クエリの機能です。
この種のクエリには、他にも多くの可能な用途があります。
データベースでは、これを使用して、どの著者がプロジェクトをまだ作成していないかを確認したり、どの従業員がまだ健康上の利点を選択していないかを確認したりできます。 ここで、 Customers および Orders テーブルを含むデータベースを開きましょう。 [作成]タブに移動し、クエリウィザードボタンをクリックします。
[一致しないクエリの検索ウィザード]を選択し、[OK]をクリックします。
このシナリオでは、注文していない顧客を探します。 最初の画面では、クエリ結果に必要なレコードが含まれているテーブルまたはクエリを尋ねています。
*tblCustomers* の顧客リストが必要になりました。 そのオプションを選択し、[次へ]をクリックします。
次の画面では、どのテーブルまたはクエリに関連レコードが含まれているかを指定する必要があります。 つまり、最初のテーブルと比較するためにどのテーブルを使用していますか。 そのためには、注文していないものを見つける必要があります。 すべての注文に関する情報を含むテーブル( tblOrders )を選択する必要があります。 次に、[次へ]をクリックします。
次の画面で、両方のテーブルにある情報を指定する必要があります。
- これは通常、ある種の主キー、外部キー、フィールド、または関係になります。
- データベースに既存の関係がある場合、Accessはそれらのフィールドを選択して一致させます。
- ただし、結合できる他のフィールドがあり、同様の情報が含まれている場合は、ここでも選択できます。
ここでは、「tblCustomers」のフィールドと「tblOrders」のフィールドの両方でデフォルトでCustIDが選択されています。 次に、[次へ]をクリックします。
次の画面で、クエリ結果に表示するフィールドを選択できます。
次に、使用可能なすべてのフィールドを選択して、双方向矢印をクリックします。 これにより、すべての*利用可能なフィールド*が*選択したフィールド*エリアに移動します。 次に、[次へ]をクリックします。
最後の画面では、クエリの名前を選択して[完了]をクリックできます。
ここでは、まだ注文していない顧客として1人の顧客がリストされています。
そのクエリがどのように作成されたかを確認することもできます。 このためには、*デザインビュー*に戻る必要があります。
このウィザードは、tblCustomerとtblOrdersの間に*外部結合*を作成し、 Is Null 基準がtblORdersからCustIDに追加されます。 これは、特定のレコードを除外することです。 この場合、注文したのは顧客であるか、tblOrdersに関連情報があるのは顧客です。