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のBeforeUpdateでUndo

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

no image

Accessでレポートのレコードソースを動的にセットしたい

今までは、フォーム上のボタンをクリックしたら、レポートをデザインで開いてからレコードソースをセットしなければならないと思っていた。 つまり、こんなやり方をやっていた。 フォーム:  【ボタン1をクリッ …

no image

Accessであらかじめリンクテーブルを開いておくと劇的に高速化

リンクテーブルに対して「Dlookupで値を探して見つかったらCurrentDb.Execute UPDATE~ で値を更新」という処理をループで回している。 この処理、一旦始めると、終えるのに30分 …

no image

SqlServerにAccessでいうオートナンバー型をつける

テストデータを作るために、Accessで2万件ほどのデータを用意し、別途追加クエリを作って、ODBC接続したSqlServerに追加しようとしたところ、「型変換エラーがどうのこうので追加出来ない」との …

no image

AccessからExcelフォーマットでファイルに出力するサンプルコード

Excelから外部データの接続の際に,ユーザー定義関数を含んだクエリを指定するとエラーになったので、こんなやり方で対処。 Private Sub btnB2_Click() DoCmd.OutputT …