• 締切済み

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

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

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

エラーが出るという事ですが VBEditorでデバッグしてみてください。スペルのエラー等ないでしょうか? 間違っているところが強調されますので確認してください。 DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 です。

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.3

>  [Forms]![売上データ―]![ID]=[Reports]![売上日報]![ID]  レポートを開くアクションの、Where条件引数かな? 正しくは、 [フィールド名]=Forms![フォーム名]![コントロール名] のように指定します。 あと、その前に、マクロならコマンドの実行アクションで、レコードの保存引数を 選んで、実行させてください。

sirouto
質問者

お礼

休みで、お返事が遅くなりました ちょっと、具体的すぎて、解りません。 選んだデータ―のIDを同じにするように指定すれば出来るかと思ったのですが・・・最後の(最新の)データをフィールド名で指定する方法がわかりません。  マクロで、フォームを保存して閉じさせて、そのあとテーブルやクエリを開かせて、更に最後のデータ―に移動させて、それと同じIDを条件式で開くようにしてからレポートを開かせてみたのですが、やっぱり白紙のレポートになってしまいました。理由も方法もわかりません。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

#1の方のいうようにフォーム上でデータを入力しただけではそのままレポートに出力できません。 そのデータをレコードとして保存しなければ出力できません。 ボタンからレポートを出力するマクロを実行させているならそのボタンのクリックイベントのプロシジャに1行付け加えればすぐレポートに出力できます。 そのボタンをCmd1として下記のようになっているはずです Private Sub Cmd1_Click() On Error GoTo Err_Cmd1_Click DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70  'この1行を追加してください。コピペで大丈夫です。 Dim stDocName As String stDocName = "マクロ名"  '実行させるマクロ DoCmd.RunMacro stDocName Exit_Cmd1_Click: Exit Sub Err_Cmd1_Click: MsgBox Err.Description Resume Exit_Cmd1_Click End Sub これで入力してすぐ出力できます。

sirouto
質問者

お礼

休みで、お返事が遅くなりました DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 を書き込みましたが、式のエラーがでます。 どうしてでしょう? 頑張ってみます。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

入力が完了していない(テーブルに書き込まれていない)からだと思います。 フォームでテーブルのフィールドをどう扱っているか不明ですが、 非連結ならレコードセットのRequery、 連結ならMe.Requery で大丈夫だと思います。 頑張ってくださいヽ(^。^)ノ

sirouto
質問者

お礼

休みで、お返事が遅くなりました。 やってみたのですが、駄目でした。どうしてでしょう? 頑張ってみます

関連するQ&A

  • アクセス2000でレポート印刷

    アクセス2000でレポート印刷 レポートを印刷するとき、フォームで表示しているレコードだけを印刷したいのですが・・・ フォーム上でコマンドボタンを作ってレポートを印刷すると、関連するレコードが全て印刷されてしまいます。 フォームでレコードを指定して、そのレコードだけを印刷・・・ 教えてください!!!!

  • レポート印刷

    アクセス2000使用ですが、フォームで表示されている情報だけをコマンドボタンでレポート印刷するためにはどうすればいいのか教えてください。印刷ダイアログでページの指定をするのではなく、ボタンで一発印刷ができるといいんですが。

  • Access2002で困ってます。

    アクセスのフォーム画面に”レポートの印刷”の コマンドボタンを置いたのですが、印刷を実行すると、 全てのデータが印刷されてしまいます。 そのため、1枚だけ指定して印刷したい場合は レポート画面を開き、ファイル→印刷→ページ指定の手順で印刷してるのですが、指定したページだけを印刷するコマンドボタンは作れないのでしょうか? 説明が解り難いかもしれませんがよろしくお願いします。

  • ACCESS 指定レコードのレポート印刷

    OKWaveでも他の方が質問していますが、同様な対応をしても、どうも正常動作しません。 内容:1.フォーム作成完了 → 2.レポート作成完了 → 3.現在フォームに表示されているレコードを(2)で作成したレポート形式で印刷(プレビュー)をしたい。 レポート名:看板 フォーム名:管理    フォーム画面上には ID を表示させています。 テーブル名:管理TBL 管理TBLには ID というフィールドはあります。 実施内容:下記内容を印刷コマンドボタンのイベントプロシジャーに記述。 Private Sub report_Click() Dim stDocName As String   DoCmd.OpenReport "看板", acViewPreview, , "[ID]=" & [Forms]![管理]![ID] End Sub 例えば、レコード3のフォーム上で上記内容のコマンドボタンをクリックすると、IDのパラメータのポップアップが表示され3を入力後、看板のレポートプレビューが表示されますが、固定データのみ表示されているレポートで当該レコードの内容が反映されたレポートが表示されません。 レコード1のフォーム上で実施したら、IDパラメータポップに1を入れると全レコードのレポートがプレビューされます。 どうしたら、カレントレコードの内容のみを反映したレポートをプレビューさせることができるのでしょうか、ご教授下さい。また IDパラメータポップアップも表示させたくありません。

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

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

  • ACCESSでフォーム入力→レポート出力したい

    ACCESSでフォーム入力→レポート出力したい OS:XP,ACCESS2000 フォームのテキストボックスに入力した文字をレポートのテキストボックスに表示したい。 フォーム: ファイル名は「フォーム1」で、その中に作ったテキストボックス名は「入力データ」 コマンドボタン名は「レポート出力」 レポート: ファイル名は「レポート1」で、その中に作ったテキストボックス名は「出力データ」 フォーム1とレポート1を立ち上げてフォームのテキストボックスにデータを入力した後、 コマンドボタンを押してもレポート1のテキストボックスに入力したデータが表示されません。 レポート1を選択した後にデザインボタンを押し、その後にもう一度立ち上げると、 なぜかデータが書き込まれています。 コマンドボタンを押したのと同時にレポート1にデータが表示されるようにするには どうすれば良いですか? プログラムは以下の様になっております。 (1)クラスオブジェクト下 Private Sub コマンドボタン_Click() Call レポート書き出し() End Sub (2)標準モジュール下 Public Function レポート書き出し() Dim F As Form Dim R As Report Set F = Forms![フォーム1] Set R = Reports![レポート1] R![出力データ] = F![入力データ] End Function

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

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

  • ACCESSで表示されているフォームだけをレポートに出したい

    アクセスで、入力したフォーム内容をすぐにレポートで印刷できるよう、コマンドボタン作成ウィザードで、レポートの操作→レポートのプレビューを行ったのですが、IDが1のものが表示されてしまいます。。 これを、表示されているフォームIDのものをプレビューさせることはできますでしょうか? 色々調べてみたのですが、分からなかったので。。 宜しくお願いします!

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

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

  • MS-Accessでのレポート印刷について

    MS-Access97を使用しております。早速質問させていただきます。 売上データから請求書を発行するシステムを作っているのですが、たとえば 請求書をページプリンタへ印刷する場合、1枚目を「請求書」2枚目を「同控え」3枚目を「納品書」としたいのですが・・・。それぞれ3種類のレポートを作成し、請求書を発行するフォームから発行する条件をあたえ、コマンドボタンに3枚を順に印刷するコードを書いたのですが、これでは最初に1枚目をすべて印刷し、次に2枚目、次に3枚目という順序で印刷されてしまいます。 発行する客先が多くなるほど、印刷された用紙を手作業で並べかえなければならず大変不便です。 そこで、最初の1件目(お客)を1、2、3枚印刷し、続けて2件目(次のお客)を1、2、3と印刷(以後繰り返し)できるようにするにはどうしたらよいのでしょうか?

専門家に質問してみよう