- ベストアンサー
Access2000プリンタ設定について
- Access2000の脆弱なプリンタ設定問題を解決する方法について詳しく解説します。
- 複数クライアントでの作業時にプリンタ設定が崩れる問題を解決するためのアドバイスをご紹介します。
- Access2000の余白、プリンタ機種、用紙サイズ、給紙方法の設定が毎回変わる問題に対する最適な解決策をご提案します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
[イミディエイト] 自動 請求書 (VL1004D 上) 189 TopMargin=250 Private Sub コマンド0_Click() Dim prt As Access.Printer Dim strDeviceName As String DoCmd.OpenReport "item", acPreview strDeviceName = Reports("item").Printer.DeviceName Reports("item").Printer.TopMargin = 250 Debug.Print Reports("item").Printer.PaperSize Debug.Print strDeviceName Debug.Print "TopMargin=" & Reports("item").Printer.TopMargin For Each prt In Application.Printers If strDeviceName = prt.DeviceName Then MsgBox "DeviceName =" & strDeviceName End If Next End Sub Printer オブジェクトとPrinbtersコレクションを使うのも手です。 Reports("item").Printer.TopMargin = 240 このように、TopMargin も設定できます。 ですから、印刷プレビュー時にプリンタの設定を行えば色んな不具合は回避できるかと思います。 <<プリンタ名=納品書、請求書、配送伝票にしておけば・・・>> しかし、そもそも各端末で’配送伝票’なるプリンタ名を用意しておけば事足りるかと思います。 Access側では、常に’配送伝票’を使えば不具合は発生しないです。 Printer オブジェクトを使って逐一制御するかどうかは好みの問題。 ところで、制御値は2つ用意しないと全ての機種に対応できません。 このように制御値が混在する限りで各端末のデバイス名を取得し値を調節します。 通常、2タイプの調節しかありませんので’配送伝票1’と’配送伝票2’を用意して対応することも可。 先の回答は、この最後の1行についてのものです。 が、制御値が混在していなければ、プリンタ名を納品書、請求書、配送伝票にしておけば・・・。 と、思います。
その他の回答 (2)
しまった!訂正です。 バックエンドとフロントエンドではないですね。 だとすると、各クライアント情報はサーバー。 で、後は、同じです。
お礼
ありがとうございます。 でもプリンタを選ばせる「設定」画面の 出し方が分かりません。 具体的なコードが分かれば教えていただきたいのですが・・
ドットプリンタ別に帳票レイアウトをするのは一番簡単です。 具体的には、[各種設定]などのメニューを用意しプリンタを選ばせます。 出力の際には、その設定に応じて帳票を出力します。 このやり方で、今のところですがエプソンとNECの機種で対応不可はありません。 もちろん、富士通とか沖電気でも対応できています。 なお、プリンタ名だけはリネームしてもらっています。
お礼
ありがとうございました。 TopMargin の設定も含めて具体的なコードを頂き 感謝しております。 さっそく参考にさせて頂きます!