- ベストアンサー
アクセス データ抽出
アクセス超初心者です… 教えて下さい… 全顧客情報をまとめたテーブルと(顧客番号、個人情報)、毎月ごとに分けて作っている来店情報(顧客番号と来店日)のテーブルが数か月分あります。 (全顧客情報) (来店情報3月) (来店情報4月) ID 名前 ID 来店日 ID 来店日 1 Aさま 3 3月4日 3 4月9日 2 Bさま 5 3月12日 10 4月15日 3 Cさま 190 3月21日 15 4月30日 例えばこんな感じでのデータから、各顧客の最終来店日を抽出するにはどうすればいいか…思いつかないのです。 ※来店されるのは、各顧客月に1回か、数ヶ月に1回。 よろしくおねがいします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 リンクをつけ忘れていました。 来店情報が一つのテーブルにまとめて入っていた場合・・ クエリのデザインビューで最終来店日を出す方法 http://makotowatana.ld.infoseek.co.jp/access/group.htm ↑の3番の 得意先をID 金額を来店日 とすればOKです。 月別に抽出する方法はクエリのデザインビューにIDと来店日の他に フィールドを追加する形になります。 フィールドの欄に 年月: Format([来店日],"yyyymm")と記載して 抽出条件の欄に [来店の年と月をYYYYMMの6桁で入力して下さい] と入力し、データシートビューを開くと、 来店の年と月をYYYYMMの6桁で入力して下さい と表示された ダイアログが開き、200702 と入れると、来店日が07年2月のデータだけが 表示されるようになります。
その他の回答 (2)
- p-applepie
- ベストアンサー率53% (156/290)
来店情報は一つのテーブルに入っていた方が扱いやすいかなと 思いました。 一つのテーブルに入っている来店情報を、クエリを使用して月別抽出して 色々な利用(月別集計や月別一覧表レポートなど)をされた方が、後々便利だと思いますよ。 一つのテーブルにデータが揃っている場合は、クエリのデザインビューの 抽出条件の欄に月を指定する事で、月別のデータ表示は可能ですし、 最終来店日を出す場合は、クエリデザインビューで集計のΣをクリックし IDをグループ化、来店日の欄を 最大とするだけで、ご希望の値が出せます。 今の状態で実行されるには #1の方の言われるユニオンクエリでいいかと思います。 http://orakumiko.hp.infoseek.co.jp/tips/q_tryunion.html クエリの新規作成デザインビューを開いて、デザインビューとデータビューを 切り替えるアイコンの▼をクリックすると、SQLビューが出ますので そこでSQL文を入力して下さい。 ただし、ユニオンクエリでクエリを作成すると、SQLビューしか 使用する事が出来ません(デザインビューのマークは灰色になります)
お礼
こんにちは 『来店情報は一つのテーブルにまとめクエリデザインビューで集計のΣをクリックしIDをグループ化、来店日の欄を 最大とするだけで、ご希望の値が出せます。』 教えていただいたとおりにやってみました。できました!! ありがとうございます。 助かりました&勉強になりました。
- bin-chan
- ベストアンサー率33% (1403/4213)
考え方だけ。 1)まず全期間の「来店情報」テーブルを作ります。とは言っても実体は必要なし。ユニオンクエリで作成してください。(Unionがキーワード) 2)クエリの「集計」を使用して1)で作成した「来店情報」から、(顧客)ID別の最大来店日を取得させます。(GroupBy、Maxがキーワード) 3)テーブル「全顧客情報」と2)のクエリを結合させます。 操作方法の詳細も必要ですか? ※一度も来店していない顧客をどうする?によって若干変わりますよ。
補足
早速ありがとうございます。 すごい…初gooで、初ご回答です。 ユニオンクエリ・GroupBy、Maxわからないです… ※一度も来店していない顧客をどうする 空白でもいいですが、”来店なし”のようなコメントを表示 できればうれしいです。 よろしくおねがいします。
お礼
p-applepieさん ありがとうございます。 へ~!なるほど~!!です。ちょっと頑張ってやってみます。 結果、ほうこくします<(_ _)>