- 締切済み
Accessのフィルタ検索でデータの重複除外をしたい
OS:winowsXP Access Version:2000 お世話になります。表題の件でお伺いしたいのですが、重複 データが表示されてしまって困っています。 行いたいことは、Accessのテーブルのフィルタ画面にて TBL(userm)の中の企業ID(kigyo_id)という項目から 重複したのを排除して表示するということです。 in (select distinct kigyo_id from userm) と記述してフィルタを実行しても、重複データが表示されてしまいます。 色々調べてgroup byも試してみましたが表示されません。 どなたかご教授願えませんでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- DexMachina
- ベストアンサー率73% (1287/1744)
フィルタによる絞り込みは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」だった場合。
お礼
お返事が送れて申し訳ございません。 出来ました!!ありがとうございます。