by 唐草 [2014/11/28]
今、おつきあいしている会社のひとつから「印刷ズレを直して欲しい」という要望が来た。
そのアプリケーションを作ったのはぼくじゃないし、そもそも今契約している案件とは直接関係がない話だ。印刷ズレ修正のためだけに出向く気にもならず、軽く放置していた。
このままスルーしたかったのだが、本来の要件で打ち合わせに行った際に予想通り話を振られてしまった。
ちょっとだけ面倒を見ることにした。もちろん料金は、請求する。
現場で状況を確認したところ社内データベースのようなものから伝票を印刷しようとすると印字がずれていた。
このデータベースは、マイクロソフトの『アクセス』で作られている。
数日前に前任者から「手動で各種フォームの位置を調整してください」というありがたいお言葉を頂いていた。どうやら、印字機能はプログラム制御じゃ無いらしい。VBAを書かなくて良いようなので安心をした。
さて、ここでひとつ重要なお話をしよう。
ぼくは、生まれてこの方、アクセスに触ったことは3時間しかない。大学の情報処理の授業でデータベースのリレーション(相互参照みたいなもの)を視覚的に理解するために1度だけアクセスを使わされたことがある。それだけ。本当にそれだけ。
果たして、そんなぼくが直せるのだろうか?
ググったらアクセスの印刷制御は、レポートという機能を使うらしい。でも、製作済みレポートがどこに保存されているかも分からない。
完全に手探り状態で色々いじってみるが、編集モードにすら入れなくて苦戦するハメになってしまった。
まさか、ログインするときにShift+Enterでログインすると編集モードになるなんて!
さて、紆余曲折あって無事該当のレポートを見つける。
開いてみると用紙サイズが適当でないとの警告を出していた。印刷がずれる原因はこれか。
余白設定を見てみると妙な数値が指定されていた。どうも、職人芸的な余白の使い方で印刷位置を制御していた節がある。かなりトリッキーな設定だ。
持参した定規で印刷のズレ幅を測って、余白を再設定する。それによって位置ズレはキッチリ直った。
だが、本来1枚の印刷なのに2枚紙が出てしまう。
おかしい…。
もっと本質的な原因が潜んでいそうだ。
ありとあらゆるところを確認した結果、プリンターの用紙設定が消えていることが判明。特殊サイズの伝票なので手動で用紙を定義しなくてはならない。ところが、その設定が消えてA4設定になっていた。これが、すべての原因だった。
アクセスは、なんも悪くなかった。