- 締切済み
Access レポート印刷時のイベントについて
お世話になります。 Access VBAにて以下の処理を行ってます。 1.フォーム上のテキストボックスに数値を入力しボタンを押す。 2.ボタンが押されたらテーブルAを作成(入力された数値分レコード作成)。 3.テーブルAの『連番』フィールドに、テーブルBの『番号』の次の番号から連番でふる。 4.テーブルAの『連番』の最後の番号を、テーブルBの『番号』に上書きする。 5.テーブルAをソースとしてレポート(印刷プレビュー)を表示。 そこで質問ですが、上記の処理だとレポートを表示するだけでもテーブルBの『番号』が更新されてしまいます。本来であれば、レポートが印刷されたタイミングで更新したいところです。 ※レポートを印刷せず、×で閉じられたような場合は更新させないようにしたい。 レポート上で右クリック⇒印刷、もしくは、レポートを開いている状態でメニューの印刷ボタンが押されたタイミング、ファイル⇒印刷のタイミングで、テーブルBを更新することは可能でしょうか。 ご教授の程、宜しくお願い致します
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nicotinism
- ベストアンサー率70% (1019/1452)
3・が終了した時点で印刷プレビュー Or 印刷を行って その後で確認メッセージで分岐して 4・ 5・に進めば良いのでは? 現実には印刷を実行しても紙詰まりなどの可能性もありますので MSGBoxでユーザーに確認させた方がよろしいかと。 完全な自動化は難しいのでは。 こちらが参考になるかと思います。 印刷かプレビューか、それが問題だ YU-TANG さんと hatena さんの考察です http://www.f3.dion.ne.jp/~element/msaccess/AcTipsHowToDetermineReportInPreviewOrPrinted.html これも少しは参考になるかも?印刷終了の判断辺りが使えそう。 http://okwave.jp/qa/q7176020.html
お礼
ご回答ありがとうございます。 確かに、テーブルBに上書きする前にプレビューなのか印刷なのか選択させて、プレビューなら上書きしない、印刷なら上書きする・・・というようにすればよいかと思うのですが、実際にはプレビューを選択しておきながら印刷されてしまうことがありえます(印刷出来てしまう)。レポートの内容は番号ですが、その番号を重複して印刷させたくないところです。なので、プレビューだとしても印刷するタイミングで上書き出来ればと考えております。教えて頂いたURLを参考に検討してみたいと思います。 ありがとうございました。