MS Access

Accessで複数の用紙サイズ・向きの帳票を印刷したいが2枚出るとか、思ったようにならないなら

投稿日:

私がAccessで作った会社の業務管理システムは、帳票類がほとんどA4縦の用紙で出力されるようになっている。
しかし、一部の帳票、というか封筒は、長三サイズと、角6サイズをの用紙にしないと、プリントが2枚出たり、カセットの用紙から出たり、思ったように動作してくれない。
これは、AccessのなかでA4縦サイズが基本になっていて、それ以外のサイズで出力したい場合は一度、ページ設定が必要になるからだ。
(Accessさまの都合で、という気がしなくもない)。

そこで、こうした。

DoCmd.OpenReport “kaku6futo”, acViewPreview, “ラベル指定印刷q”, r
DoCmd.RunCommand acCmdPageSetup

2行目に書いた処理で、ページ設定のダイアログボックスを出す。
ここで、使う人に、用紙サイズが正しいかをチェックしてもらったうえで、プリントしてもらう。

いつのバージョンからかわからないけど、Accessではレポートと用紙サイズを覚えてくれるようになった。
けど、プログラムファイルを変えるとまた元通りになる。
なので、一応こういう仕組みも、未だ必要ですね。

参考:Excel VBA を学ぶなら moug モーグ | 即効テクニック | レポートの[ページ設定]ダイアログボックスを表示する

-MS Access

執筆者:

関連記事

no image

Accessのフォームでテキストボックスに入れた値を次回オープン時の既定値として自身に保存するには

ちょっとだけ苦労した。 次回もきっと使うことがあるだろうから、メモメモ。 現在の値を変数に入れておく(これをしておかないと、次の処理でデザインビューに切り替わるために入力した値も消える)。 フォームを …

no image

AccessのBeforeUpdateでUndo

BeforeUpdateプロシージャ内の処理で、Cancel = Trueとしたら更新がキャンセルされるところまではできたが、テキストボックスにNullを代入しようとしてエラーが出たりして、間違って入 …

no image

AccessからMySQLを操作

WordPressに書いた記事は、MySQLに格納されている。 格納された大量の記事をまとめて修正したいときは、いちいち管理画面から修正するのは疲れる。 今までは、PhpMyAdminでSQLのUPD …

no image

DoCmd.GoToRecordよりもMe.SaveよりもMe.Refresh

Accessで、一旦フォーム上のレコードを保存したいとき、 Me.Save とやってもレコードが保存されない。 そこで、今までは、DoCmd.GoToRecordで無理矢理レコードを移動して保存してい …

Access「実行時エラー3061 パラメータが少なすぎます。2を指定してください」で意外な決着

クロス集計クエリをVBAで読むときで、かつパラメータクエリを使う場合には、クエリのパラメータパネルで、別途、パラメータを指定しなくてはならない(VBAで使わないなら不要) 本日のトラブルは、その後、W …