MS Access

Accessでレポートを印刷したいのにフォームが印刷されるトラブル

投稿日:

現象:全てではなく特定のPCで、チェックリストを出力しようとすると、バックで開いているフォームがプリントされる。

毎回起きるトラブルではなく、うまく出るときもある。

最初の対策:以下のブログを参考に、レポートの作業ウィンドウを固定した。

Accessの困った問題解決策①:レポートではなく、後ろのフォームが印刷されるのを回避する方法 |

次の対策:上記でやってもやっぱりフォームが印刷されてしまった。

別のチェックリストの出力では必ずうまくいくので、うまくいくレポートと、うまくいかないレポートで、自分の書いたプログラムのコードの差分を調べたところ、

うまくいくほうは、

1.リボンを最小化するコマンドを入れていた。Application.CommandBars.ExecuteMso “MinimizeRibbon” ウィンドウサイズを変えるタイミングでレポートがアクティブになる?

2.処理の直前にメッセージダイアログを入れていた。MsgBox(” “) これで強制的にレポートがアクティブになる?

自分の環境の場合、たいていは、1でOKみたい。

これでしばらく、様子見だ。

-MS Access

執筆者:

関連記事

no image

テキスト型の日付をformat関数で揃える

CSV形式のデータからAccessにインポートしたものだから、日付が2012/5/5やら2012/05/05やら、文字列扱い(日付型でない)の混在したデータの入ったテーブルがある。 これをきちんと並べ …

no image

フォーム テンプレート

Accessのフォームを作るときに、「フォーム テンプレート」を使う方法があること、知っている人は多いのかな? 既存のフォームにあるテキストボックスの色やサイズなどの設定(プロパティ)を引き継いで、新 …

no image

VBAで忘れてしまっていたことと、知らなかったこと

STOPステートメント: ブレークポイントを設定しないでもその行でコード処理を止めることができるので、Access終了->Access起動といったシチュエーションで使える。 Randomizeステート …

no image

AccessとBASP21で正規表現を使ってメール文から必要事項を取り出すサンプル

Accessで正規表現を使いたかったのですが、ネット上にはサンプルが少なく、苦労したので、とりあえずツギハギで作った私のコードを披露したいと思います。 Accessで正規表現を使うには、BASP21を …

no image

Accessで DoCmd.RunSQL を CurrentDb.Executeにしたら、1秒高速化した

処理が遅いので速くして欲しいとの要望があったので、コードを調査。 DoCmd.RunSQL を CurrentDb.Execute に置き換えると非同期で実行されるとの情報を得たので、試す。 結果、6 …