• 締切済み

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

専門家に質問してみよう