プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。
Accessでデータベースを作成中なのですが、重複データで困っています。選択クエリで抽出をするのですが、

理想:
条件を入力して検索   → 藤原
                   小池  (検索結果2個)
それぞれの詳細を見る  → 紀香、竜也
                 → 栄子、徹平
なんですが、

現在:
条件を入力して検索   → 藤原
                   藤原
                   小池
                   小池 (検索結果4個)
となってしまいます。

現在の状態から、重複するデータ(藤原や小池)を1個だけ表示させる、[理想]のような状態は作れないでしょうか?

この状態からマクロを使って、藤原、小池の数、詳細の数を数える表を作れるようにしたいのですが、
現在の状況ですと正確な数を数えることができません。

周りにAccessを使える人がおらず、一人で仕事を進めなければいけないので、大変困っています。
どうぞよろしくお願いいたします。

            
 
            

A 回答 (5件)

DISTINCT では如何でしょうか?

この回答への補足

DISTINCT、、初めて聞く関数です。
知識が浅く、お恥ずかしいです。。。

毎回検索条件が変わり、その度に重複をカウントしないようにしたいのですが、
その場合はデザインビューのフィールドにDISTINCT関数を設定すればよいのでしょうか?それともSQLになるのでしょうか?
全く見当違いな質問でしたら申し訳ありません。

補足日時:2006/11/28 00:27
    • good
    • 0

具体的に、


テーブルに入っているデータのサンプル(数レコード)と
どんなクエリかの説明がないと話が中々進まないと思いますよ。

この回答への補足

ご指摘ありがとうございます。
以下のようなデータベースを作成しています。

主テーブル:   番号1
            |(リレーションシップ)
サブテーブル:  番号1 番号2 情報1 情報2 情報3 情報4
                      |      |   |   | 
詳細テーブル:            情報1 情報2 情報3 情報4

番号1→"藤原"、番号2→"紀香""竜也"、情報1→"男性""女性"、情報2→"俳優""グラビア"・・・というような感じで、
番号1に対して、番号2が複数あり、番号2に対して情報が複数存在します。

主テーブル・サブテーブルを元にして検索クエリを作成し、検索用フォームから検索して、
検索結果フォームに"番号1"が出力されるように設定をしたんですが、
"情報"が"番号2"に関連付けられているため、検索結果が上記のようになってしまいます。

目的は、検索で出力された番号1に関連付けられた"情報1×情報2"、"情報3×情報4"のクロス集計(個数のカウント)の表とグラフの作成、
そして、マクロを設定したボタンを押すだけで、それがレポートとして出力されるようにすることです。
毎回検索条件が変わり、また私の手を離れ、まったくAccessを知らない人が使用することになるので、そのたびに手動で重複情報を消すわけにはいきません。

あまり詳しくないので、できればSQL、VBA等は使いたくないのですが、GUIでそのような設定をすることは可能でしょうか?

稚拙な説明で申し訳ありません。
わかりにくい箇所がありましたら、再度ご説明いたします。
よろしくお願いいたします。

補足日時:2006/11/28 00:19
    • good
    • 0

カウント時に重複を除いてカウントする指定が出来る関数を持つDBもありますが


Accessではサポートされていないので

重複を除くクエリを作りそれをカウントするという2段処理になります
    • good
    • 0
この回答へのお礼

そうなんですね。
ありがとうございます。

お礼日時:2006/11/28 21:49

まず、一テーブル内に同一のレコードが存在するのを是正するのが先sなのでは?

この回答への補足

一つのテーブルに同一の情報が存在するのは、
サブテーブルの番号1と情報1~4になりますが、
これは他テーブルと関連付けるために必要になるのではないでしょうか?

補足日時:2006/11/28 21:51
    • good
    • 0

> これは他テーブルと関連付けるために必要になるのではないでしょうか?


回答2への補足での主デーブルの内容がフィールド「番号1」の1つだけなら、主テーブルは意味がないと思います。

また、サブテーブルの「番号2」フィールドに「紀香」レコードと「竜也」レコードの二つのレコードがあるなら、
これを重複とは言えません。
質問者さんの要望だと、「紀香」と「竜也」を一つのレコードとして認識したい様に聞こえます。

普通は「藤原」で検索したら、「紀香」「竜也」の2つレコードが表示され、
検索結果の「紀香」をクリックすると詳細情報として「情報1~4」が表示されるという図式になるのでは?

この回答への補足

説明不足で大変申し訳ありません。

主テーブルは「番号1」の他にも、番号1に関連付けられた、変化しない情報がいくつか入っています。

私の要望は、
「番号1」「番号2」「情報1~4」など、任意のものを検索フォームに入力すると、その検索にあてはまる情報をもつ「番号1」が、
検索結果フォームに帳票形式ですべて表示され、その隣にあるマクロボタンを押すことで、
「番号1」で関連付けられた情報のデータフォームが開く・・・というものを作成することです。

検索をして、関連情報のデータフォームを開く、ということはできるんですが、「情報1~4」が「番号2」に関連付けられているために、
検索結果の「番号1」が、上記のように表示されてしまって困っています。

補足日時:2006/11/29 20:29
    • good
    • 0

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

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