• ベストアンサー

コンボとオプショングループでの抽出について

初心者です。よろしくお願いします。 access2000で商品の管理をしています。 商品テーブルから品名・金額・登録日、分類テーブルから分類を選択したフォームで分類・金額の範囲・登録日期間で抽出したいのです。 (1)分類をコンボで選択 (2)金額をオプショングループで選択(1万円未満、1万円以上5万円未満、5万円以上) (3)登録日をオプショングループで選択(過去1ヶ月間、過去3ヶ月間、過去6ヶ月間) (1)だけ、(2)だけ、(3)だけであればなんとかなったのですが、3つとも連動させる((1)で選んだものの中から(2)さらに(3)といった具合)にはどうしたらよいのでしょうか? 教えてください。よろしくお願いします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

>初心者です ちょっと引っかかるな・・・、結構難しいですよ まず、オプションにはどちらも「全て」という選択肢を付け加えてください たとえば金額で全てを選べば、金額に関する条件を外したということになります この「全て」はオプショングループの既定値に指定しておきます 金額オプション 1:全て(既定値)         2:1万円未満         3:1万円以上5万円未満         4:5万円以上 のように設定するのです。登録日も同様 後はクエリデザインビューで 分類の抽出条件欄に =Forms!フォーム名!分類コンボ or Forms!フォーム名!分類コンボ is null 金額の抽出条件欄に =金額オプション=1 or 金額オプション=2 and <10000 or 金額オプション=3 and >=10000 and <50000 or 金額オプション=4 and >=50000 登録日の抽出条件欄に =登録日オプション=1 or 登録日オプション=2 and between dateadd("m",-1,date()) and date() or 登録日オプション=3 and between dateadd("m",-3,date()) and date() or 登録日オプション=4 and between dateadd("m",-6,date()) and date() 条件は全て1行に入力します このクエリはデザインビューを閉じて開き直すと変なものに書き換えられてしまいますから デバッグはデザインビューとデータシートビューを往復する形で行い デバッグ完了後は、念のためにSQLビューで表示してから保存してください

178wako
質問者

お礼

ご回答ありがとうございました。 お礼が遅くなり申し訳ありませんでした。 おかげさまでサクッと解決しました。助かりました!! ご丁寧なご指導に感謝しております。 本当にありがとうございました。

その他の回答 (1)

  • Kazamin
  • ベストアンサー率30% (17/56)
回答No.1

質問の意図が今ひとつ見えないので、的を外していたらごめんなさい。 商品テーブルと分類テーブルは何らかの関係性があるのでしょうか? 商品の分類という意味であれば、商品テーブルに分類コードのようなフィールドがあると仮定して、話を進めます。 まず、両者を結合した選択クエリを作成し、そのクエリを基にしたフォーム (この場合だと帳票フォームになるでしょうね)を作成します。 その後、基になるテーブル/クエリーを持たない単票フォームを作成し、 フォームヘッダー部に検索キーとなる項目のコントロールを作成します。 明細部に先程作った帳票フォームをサブフォームとして貼り付け、メインと サブの関連づけを設定してやればいいのではと思います。

178wako
質問者

お礼

ご回答ありがとうございました。 お礼が遅くなり申し訳ありませんでした。 サブフォームを使ったことがありませんでした。勉強になりました。 本当にありがとうございました。