Access2007で表示データの重複除外方法

このQ&Aのポイント
  • Access2007でフィルタ検索で抽出したデータの重複を除外する方法について説明します。
  • クエリAの結果をフォームのrecordsorceに設定している場合、指定した条件で重複を除外することができます。
  • 具体的には「GROUP BY CD1, CD2, CD3」を使用して、重複を除外したデータを表示させることができます。
回答を見る
  • ベストアンサー

access2007で、フィルタ検索で抽出後、表示データの重複除外をし

access2007で、フィルタ検索で抽出後、表示データの重複除外をしたい。 TABLEを結合した、下記のクエリAがあります。これをあるフォームのrecordsorceにしています。 CD1 CD2 CD3 aaa bbb ccc .... kensaku 1 1 2 xxx xxx xxx .... 値1 1 1 2 xxx xxx xxx .... 値2 1 1 2 xxx xxx xxx .... 値2 1 1 3 xxx xxx xxx .... 値3 1 1 3 xxx xxx xxx .... 値4 1 2 1 xxx xxx xxx .... 値2 1 2 1 xxx xxx xxx .... 値3 上記で、kansaku=「値2」の検索を実行して、 1 1 2 xxx xxx xxx .... 値2 1 1 2 xxx xxx xxx .... 値2 1 2 1 xxx xxx xxx .... 値2 ではなく、 下記のように「group by CD1,CD2,CD3」を使用したように、重複を除外した値を表示させたいです。 1 1 2 xxx xxx xxx .... 値2 1 2 1 xxx xxx xxx .... 値2 filter = SELECT * FROM クエリA WHERE kensaku like'%値2%' GROUP BY CD1,CD2,CD3 は、フィルタでは使用できませんが、この場合どのようにして除外するのがよろしいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

SQLで 「重複した行を1つにまとめるには、SELECTの後にDISTINCTを指定」 SELECT DISTINCT * FROM ~ 期待している箇所で適用できるかは、確認してみてください。

関連するQ&A

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

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

  • Accessの重複データ除外について

    Accessクエリで重複データをしようとしていますが、 プロパティで固有の値を「はい」に指定したり、集計項目をグループ化したりすると データの順序が変わってしまいます。(昇順に並び変わってしまいます。) データの順序を変えずに重複データを除外する方法を教えてください。

  • Accessの重複データ非表示について

    Accessのクエリで重複データを非表示にする際、「クエリプロパティ」シートで「固有の値」を「はい」に変更しても上手くいきません。 この場合、どういう原因が考えられますか? アドバイスをよろしくお願いします。

  • accessで重複データの削除について

    accessというよりSQLについてなのかと思いますが、教えていただけないでしょうか。 重複するIDがあり、1件を除いて他のデータを削除してデータを抽出したいです。 抽出条件としては、[年月日]カラムがあるため、日付が一番直近のものを残したいです。  ※こちらも重複しております。 また、[フィルタ]カラムが「2」のレコードのみを対象としたいと思っています。 accessの場合、重複クエリを用いるのかと思い、クエリウィザードから作成しましたが 一意とはなりませんでした。 SELECT テーブル1.[共通ID], テーブル1.[連番], テーブル1.[郵便番号], テーブル1.[住所], テーブル1.[担当者名], テーブル1.[年月日], テーブル1.[フィルタ] FROM テーブル1 WHERE (((テーブル1.[共通ID]) In (SELECT [共通ID] FROM [テーブル1] As Tmp GROUP BY [共通ID] HAVING Count(*)>1 )) AND ((テーブル1.[フィルタ])=2)) ORDER BY テーブル1.[共通ID], テーブル1.[年月日] DESC; distinctも使ってみましたがうまくできませんでした。 何が原因でしょうか。 申し訳ありませんがご教示いただきたくお願いいたします。

  • アクセス2007 レポートで表示されないデータ

    アクセス2007を使い始めた初心者です。よろしくお願いします。 研究のための1000件ほどのデータのテーブルを元にクエリを作成しました。 そのクエリをレコードソースとしてレポートを作成しました。 ところが、表示されないデータがあります。 同じ数値のデータは表示されていません。 クエリを開いて確認すると、全てのデータが表示されていることは確認できました。 表示されないテキストボックスのプロパティを見ると「重複データの非表示」は「いいえ」になっています。  AAA XXX XXX        AAA XXX XXX  AAA XXX XXX   >>>   BBB XXX XXX  BBB XXX XXX                    どのようにしたら、全てのデータをレポートに表示させることが出来ますか。

  • エクセルで、重複データを除外して小さい値順に並べ替える関数

    A列に、 500 80 200 200 100 300 と、データがあります。このデータのうち、重複しているデータ(200)を一つだけ表示させ、かつ、小さい順に並べ替えて、下記のようにしたいのですが…。 80 100 200 300 500 調べてみて重複データをチェックする方法や削除する方法などはありましたが、並べ替える方法が見つかりません。フィルタオプションかと思いましたが使い方がよくわかりません。配列数式のこともわかりません。オートフィルタやマクロは使いたくありません。よろしくお願いします。

  • ACCESS 2010 検索抽出し表示するには?

    ACCESS 2010 検索抽出し表示するには、 クエリ作成をどうすればよいでしょうか、お教えください。 DB名→testA テーブル名→テーブルA テーブルAには、下記3つのデータを入力した情報が入っています。 ・製品番号 ・製品名 ・メモ 製品番号が一致した場合、 製品番号/製品名/メモが 表示するようにしたいです。 よろしくお願いいたします。

  • 重複するデータについて

    SQLについてわからないことがあるので教えてください。 下記のようなtestテーブルがあるとします。 num | id | mail | event | flag | date 1 | 121 | xxxxx@xxx.com | test | 1 | 2005-10-11 2 | 121 | xxxxx@xxx.com | test | 0 | 2005-10-12 3 | 125 | xxxxx@xxx.jp | test | 1 | 2005-10-11 4 | 125 | xxxxx@xxx.jp | test | 0 | 2005-10-11 5 | 128 | xxxxx@xxx.com | test | 1 | 2005-10-13 6 | 128 | xxxxx@xxx.com | test | 0 | 2005-10-12 7 | 121 | xxxxx@xxx.com | test | 1 | 2005-10-11 このテーブルから条件を下記のようなものを検索したいときはどうしたらいいのでしょうか? ・flag=1  ・idはかぶることがない  ・一番新しいdate ・ランダムで2つとりだす。 下記のようにしても、同じIDがとりだされてしまいます。 ここで、group by idを入力してもエラーになってしまいます。 numのデータも取得したいので。どうにかいい方法はないでしょうか? select * from test_tb where event='test' and flag=1 order by RANDOM() desc limit 2;

  • オートフィルタ後、重複するものに”削除”と表示さ

    オートフィルタを使用し、重複をかけるのですが、フィルタ外のものも重複をしてしまいます、どう解決すればよろしいでしょうか? ・A列の値はS1111やS2222とは限りませんが、S1111同士、S2222同士は重複はしています ・B列の値はH22-R、 H22-Yに関しては、BH22-RやH22-RAなど、H22-R、 H22-Yが含まれる値となります、H11-Yに関してはこの値だけになります    A列  B列 ~ 〇行 S1111 H11-Y ~ △行 S1111 H22-R ~ □行 S2222 H11-Y ~ ×行 S2222 H22-Y ~ B列のH22-YとH11-Yでフィルタかけ、A列で重複しているものがあれば、C列に削除と表示 ↓    A列  B列  C列 ~ 〇行 S1111 H11-Y ~ □行 S2222 H11-Y 削除 ~ ×行 S2222 H22-Y 削除 ~

  • フィルタをかけた状態での数値検索

    いつもお世話になってます。 Excel2003について質問です。 フィルタをかけたのち、抽出したグループから指定したセルの値を検索し、見つかればtrue等を返す関数はありますでしょうか。 例) A1~D1 10,20,30,40等 (検索値) A2~D2 判定セル フィルタ適用後のB列から上記値が見つかればTRUE を出力 A10~A100 グループ(AA,AB,AC等) B10~B100 整数(重複もある) subtotal関数とcountifを掛け合わせたようなイメージですが、色々試したものの正しい数式は見つかりませんでした。 ヒントでも構いませんので、助けて頂けないでしょうか。 伝わりにくい文章で申し訳ありませんが、よろしくお願いします。