• ベストアンサー

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

アクセスで簡単な生産管理を行おうと思っています。 生産した商品の数量などが生産した日付別にデータ として入力してあります。レポートのもとになるクエリー を作って、(集計クエリー) レポートを開くときにマクロを使ってフォームを開き、 そこで、商品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

  • レポート印刷 絞り込み

    Access2007で会社の明細書を作成しています。 やりたいことですが フォームで「日付」を入力し、印刷ボタンを押すと その条件の日付を抽出しプレビューしたいのです。 上のフォームは作りました。 「日付」を入力するテキストボックスと 「プレビューボタン」を作りました。 マクロでwhere条件にどのように入力すれば宜しいでしょうか? それとレポートの中に「サブレポート」があるのですがこれも同時条件で抽出したのですが出来ますでしょうか? レポートの元になるクエリーの抽出条件に[Forms]![フォーム名]![コントロール名]で抽出は出来たのですが上記のようにやりたいと思っております。 「サブレポート」で同じようにやると、その日付で値がない場合、レポートでサブレポートの合計がエラーになってしまします。これもうまくやる方法を教えて頂きたいと思いますので宜しくお願いします。

  • ACCESSで、フォームで抽出したものをレポートで印刷したいのですが・・・

    現在、フォームでオプショングループを作成し、そこで選択されたものがフォーム上に表示(抽出)されるマクロを設定しています。今度ここで表示されたものをレポートにて印刷するために、またマクロを作ったのですが、エラーとなっていまい、レポートも表示されません。 そのマクロは、 アクションを「値の代入」 アイテムを「[Reports]![成績表].[FilterOn]」 式を「True」 とし、 2行目に アクションを「値の代入」 アイテムを[Reports]![成績表].[Filter] 式を[Forms]![成績表].[Filter] としました。 これはあるテキストに載ってたとおりにしたのですができませんでした。 どのようにすればよいのか教えてください。よろしくお願いします。

  • アクセス2003でレポート印刷について。

    いつもいつもお世話になっています。 アクセス2003で月間の抽出結果一覧がある帳票フォーム(選択クエリがレコードソースです)があり、印刷ボタンでその一覧のレポートを印刷したいと考えています。 そのフォームを開く時に、抽出条件として西暦と月を入力するのですが、そのレポート(同じ選択クエリがレコードソース)を印刷するときも再度西暦と月を指定しなければいけません。この年、月の入力を一度ですませるにはどのようにしたらよいでしょうか? どなたかよろしくお願いいたします。

  • Accessで今記入されたデータ―をすぐにレポートで印刷したいのですが

    よろしくお願いします。Win98でAccess2000を使用しています。 毎日提出する売上日報を作っていますが、パソコンに不慣れな人でも使えるようにしたいと思っています。 その日の売上データ―をフォームから記入し、クエリを通して集計や細かな計算をさせた物をレポート化することまでは出来ています。 ただ、フォーム上にコマンドボタンをつくり、それでマクロを実行させたいのですが、レポートを開かせて印刷まではできました。 ただ、最後の(つまり今、フォームに記入したばかりの)データ―をだけを印刷させたいのですが最後のデータを [Forms]![売上データ―]![ID]=[Reports]![売上日報]![ID] のようにIDでページ指定をすると、印刷されたレポート内のデータが白紙になります。 記入されたページを指定しないと、すべてのレポートが印刷されてしまいます。 今フォームに記入されたデータをフォーム上のコマンドボタンからレポートで印刷させるには、どのようにしたら良いのでしょうか?

  • access2010のレポート印刷について質問です

    選択クエリにて日付で抽出しています。 選択クエリを実行すると、パラメーターの入力画面が表示され、日付を入力すると抽出されます。 その選択クエリをそのままレポートとしてあります。 そのレポートを印刷するにあたり、現在の流れは、フォームの印刷ボタンを押す→パラメーターの入力→レポート表示→ファイルタブから印刷を選択→印刷をクリック→プリンター選択等のプロパティー画面→印刷となっていますが、この手順を、フォームの印刷ボタンを押す→パラメーターの入力→プリンター選択等のプロパティー画面→印刷としたいのですが。 分かる方、是非教えて下さい。 宜しくお願いします。

  • access97のレポートを複数枚印刷設定する方法

    access97にて、フォームに作成した印刷ボタンを押すとレポートが印刷されるようマクロを作成いたしました。 印刷を振り分けるシステムと繋げて数台のプリンターで出す様にする為、 規定枚数印刷するようにマクロを変えたいのですが、どのようにすればよいでしょうか? 今は 閉じる(オブジェクトの種類:フォーム、オブジェクト名:フォーム1、オブジェクトの保存:確認) レポートを開く(レポート名:レポート1、ビュー:印刷、フィルタ名とWhere条件式の部分は空欄) フォームを開く(フォーム名:フォーム1、ビュー:フォームビュー、ウィンドウモード:標準、Where条件式とデータモードの部分は空欄) 最大化 というように作成しました。 印刷マクロを繰り返しても、2枚と認識せず1枚×2で認識し振り分けできないようなのです。 どなたかお解りの方ご回答お願いいたします。 かなり初心者のため出来るだけ具体的にご回答いただけると助かります。

  • ACCESS97で単表フォーム上からレポート印刷をする。

    ACCESS97でマクロを使用しています。 単表フォーム上にコマンドボタン(レポートを開くマクロを使用し、単表フォームのIDを入力し印刷しています。)を配置しています。 レポートを印刷するのに、IDの入力を省略したい、どうすれば良いでしょうか。 マクロまたはVisual Basicでお願いします。

  • アクセス2010 マクロ 印刷ダイアログを表示

    アクセス2010でテーブルに連結した取引台帳を入力フォームがあります。 そのフォームで入力後、コマンドボタンで印刷を実行します。 コマンドボタンには、マクロで レポートを開く レポート名 請求書発行レポート ビュー 印刷 フィルター名 なし Where条件式 =[契約NO]=[Forms]![取引台帳入力フォーム]![契約NO] ウィンドウモード 標準 と、開いているフォームのページがレポート印刷されるようにしました。 ですが、モノクロ・カラー印刷と印刷の都度設定したいので、印刷が実行される前に 印刷ダイアログを表示させたいのです。 この方法を、どうぞ教えていただきたくお願いいたします。

  • ACCESS2000の複数検索条件からのデータ抽出

    こんにちわ。前回質問内容自体どう説明してよいかわからず、途中で終わってしまったので、再度、詳しく質問してみました。 今、Accessで受注管理を作成しているんですが、複数の検索について教えて下さい。 ■テーブル テーブル名:受注管理 フィールド名:受注ID・日付・商品種別・顧客名・仕入種別・状況種別 ■クエリ クエリ名:受注クエリ(フィルタ) フィールド名:受注ID(表示チェックあり)・日付・商品種別・顧客名・仕入種別・状況種別 と式1[Forms]![検索フォーム名]![日付text]・式2[Forms]![検索フォーム名]![商品種別combo]・式3[Forms]![検索フォーム名]![顧客名text]・式4[Forms]![検索フォーム名]![仕入種別list]・式5 [Forms]![検索フォーム名]![状況種別combo]の計11列です。 抽出条件:検索名フィールド: 受注IDを除く各フィールド名の下に Like "*" & [Forms]![検索フォーム]![日付text] & "*" Like [Forms]![ 検索フォーム名]![商品種別combo] Like "*" & [Forms]![ 検索フォーム名]![顧客名text] & "*" Like [Forms]![ 検索フォーム名]![仕入種別list] Like [Forms]![ 検索フォーム名]![状況種別combo] 各式の下に Like "" Like "(なし)"      Like "" Like "(なし)" Like "(なし)" を検索パターンに応じて入力しました。 マクロにより、フィルタの実行をしていますが、この方法だと4つまでなら、検索可能なのですが、5つ以上になると、「フィルタが長すぎます」というダイアログボックスがでて検索ができません。VBAやSQLはいまいちわからないので、何か簡単に、5つ以上の検索条件で検索できないでしょうか。お願いします。

  • ACCESS フォームの非連結の日付を参照したい

    ACCESS2010、WinXPの環境です。 受注データを参照したフォームから納品データに転記するフォーム(納品入力F)と追加クエリを作成しています。 非連結で作成した納品入力Fに、商品名、数量、日付とも、変更する可能性がある為、非連結の商品名、数量、日付のテキストボックスを作っています。 日付は、=DATE()で規定値に設定して コマンドボタンでプラスとマイナスで日付を前後できるようにしています。 追加クエリは、それぞれの非連結フィールドに 式1: [Forms]![納品入力F]![商品名]  式2: [Forms]![納品入力F]![数量]  式3 [Forms]![納品入力F]![日付]としています。 日付は、日付[S]型です。 これで追加クエリでデータシートをみると、数量や商品名は参照できていますが、 日付のみが空白になります。 ACCESS2000の時に作成した同じ方法(のつもり)でさくせいしたフォームと クエリでは、うまく参照してデータに転記できています。 何度か新規に作成して試したのですが、同じ内容となります。 原因や解決方法を教えてください。

専門家に質問してみよう