• ベストアンサー

アクセスのレポート印刷時にフォームを使ってデータ抽出がうまくいきません

アクセスで簡単な生産管理を行おうと思っています。 生産した商品の数量などが生産した日付別にデータ として入力してあります。レポートのもとになるクエリー を作って、(集計クエリー) レポートを開くときにマクロを使ってフォームを開き、 そこで、商品CDの指定と日付範囲の指定をしています。 最初は、マクロでアクション「レポートを開く」の WHERE条件式で[商品CD]=FROMS![印刷フォーム]![商品CD] でうまく商品CDの指定はできたのですが、日付範囲はどうマクロを 組んでやればよいのかわかりません。WHERE条件式を入力するところは 一箇所しかありませんので、マクロでもうひとつアクション 「レポートを開く」のWHERE条件式で [年月日]between Forms![印刷フォーム]![開始日] and Forms![印刷フォーム]![終了日]と入力しましたがうまくゆきません。 どうすればよいでしょうか?初心者でよくわかりません。

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

  • ベストアンサー
  • nomami
  • ベストアンサー率41% (24/58)
回答No.1

フォーム上に商品CDと日付範囲(from,to)のコントロールボックス(演算コントロール)を作ります。 同フォーム上にマクロボタンを貼り付けます。 集計クエリーの 商品CD、日付 各項目の抽出条件欄でフォーム上の各項目を指定します。 抽出条件の指定方法はHelpに載っていますから参照してください。 レポートの レコードソース にこのクエリーを指定します。 マクロの ”レポートを開く” アクションは レポート名のみを指定します。(WHERE条件式は不要) フォーム上のマクロボタンに マクロを設定します。 これで、フォームの商品CDと日付を入力して、マクロボタンをクリックすると求めるレコードが表示されます。

xxxgin
質問者

お礼

回答有難うございます。 うまくできました\(^O^)/ ホントに助かりました。

その他の回答 (1)

  • o23
  • ベストアンサー率36% (64/175)
回答No.2

No.1で回答されている方法が一般的だと思われます。 ちなみにwhere条件に、 ([年月日] Between [Forms]![印刷フォーム]![開始日] And [Forms]![印刷フォーム]![終了日]) And ([商品CD]=[Forms]![印刷フォーム]![商品CD]) とすれば可能と思いますが、こんなやり方はあまりしないでしょう。 他の人が利用するのであれば、商品CDや日付が入力されていない場合や値が不正 な場合等を考慮する必要がありますね。 では、頑張って(^o^)/

xxxgin
質問者

お礼

回答有難うございます。 NO1の方法でうまくできました。 なんでもマクロでやろうとしていたために 躓いていました。 ホントに有難うございます。

関連するQ&A