dポイントプレゼントキャンペーン実施中!

OS:winowsXP
Access Version:2000

お世話になります。表題の件でお伺いしたいのですが、重複
データが表示されてしまって困っています。

行いたいことは、Accessのテーブルのフィルタ画面にて
TBL(userm)の中の企業ID(kigyo_id)という項目から
重複したのを排除して表示するということです。

in (select distinct kigyo_id from userm)

と記述してフィルタを実行しても、重複データが表示されてしまいます。
色々調べてgroup byも試してみましたが表示されません。

どなたかご教授願えませんでしょうか?

A 回答 (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」だった場合。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/26 10:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A