• 締切済み

Accessのフィルタ検索でデータの重複除外をしたい

OS:winowsXP Access Version:2000 お世話になります。表題の件でお伺いしたいのですが、重複 データが表示されてしまって困っています。 行いたいことは、Accessのテーブルのフィルタ画面にて TBL(userm)の中の企業ID(kigyo_id)という項目から 重複したのを排除して表示するということです。 in (select distinct kigyo_id from userm) と記述してフィルタを実行しても、重複データが表示されてしまいます。 色々調べてgroup byも試してみましたが表示されません。 どなたかご教授願えませんでしょうか?

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

フィルタによる絞り込みはSQL文のWhere句にしか対応していないので、重複データを除外する Distinct述語や、同じ値のものをグループ化するGroup Byなどは使えません。 (あくまで、指定した値(又は指定した値以外)が記録されたレコードの抽出しかできない、と) ですので、目的の結果を得るためには、クエリを使用する必要があります。 とりあえず、企業IDと企業名について、重複なしの一覧を表示するクエリは、以下の操作で作成できます:  1)Accessのメニューで「挿入(I)→クエリ(Q)」を選択  2)『新しいクエリ』ダイアログが開くので、「デザイン ビュー」を選択して『OK』をクリック  3)『テーブルの表示』ダイアログで『テーブル』タブから「userm」を選択して『追加(A)』をクリック後、   『閉じる(C)』で閉じる  4)クエリのデザインビューの上半分に表示されている『userm』テーブルで、「kigyo_id」をダブル   クリック(→下半分の領域に「kigyo_id」が追加されます)   ※「kigyo_id」をドラッグ&ドロップして追加することもできます。  5)同様にして、企業名を記録したフィールドを下半分に追加  6)上半分の、何もテーブル以外の部分をダブルクリックするなどして、クエリのプロパティシートを開く  7)『固有の値』の設定を「はい」に変更(→Distinctに相当)  8)クエリを保存して閉じる ・・・以上です。 このクエリを実行すれば、重複のない一覧が表示されます。 (1つの企業IDに複数の企業名(実際には同一の会社の「(株)○○」と「株式会社○○」が登録されて  いる場合を含む)が登録されている場合は、その分の企業IDは重複してしまいますが:  企業名のフィールドを追加しなければ、重複なしの企業IDの一覧が表示されます) なお、上記のようにして作成したクエリのSQL文は、以下のようになります: (作成したクエリをクリック後、キーボードのAltキー+Dキーの同時押しなどでデザインビューを開いて、  メニューで「表示(V)→SQL ビュー(Q)」を選択すると、SQL文が見られます) SELECT DISTINCT userm.kigyo_id, userm.kigyo_name FROM userm; ※企業名を記録するフィールドの名前が「kigyo_name」だった場合。

tiyojisaka
質問者

お礼

お返事が送れて申し訳ございません。 出来ました!!ありがとうございます。

関連するQ&A