Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5034 / 9994 ←次へ | 前へ→

【8194】Printoutメソッドのページ指定
質問  sim  - 06/7/10(月) 20:08 -

引用なし
パスワード
   環境: Access 2003
   Windows XP Pro

度々お世話になっております。simと申します。

現在、以下のようなコード(1.)で帳票出力処理を作成しております。
帳票を、複数のプリンターに対して、指定した開始、終了ページ数で
出力したいと考えております。プリンターはテーブルに登録されており、
開始ページ、出力ページのカラムを持っています。

この関数のprintoutメソッドにてページ指定をして出力したところ、
最初の2ページが飛ばされて印刷されてしまう状況です(例:1〜6ページを
指定すると、3〜8ページが出力される)。

留意点として、この帳票は、特定のレコードソースを持たず、Open時に読み
こんだレコードセットを、詳細_Format時に一行ずつ読み込んでレポートを
出力するつくりになっております(コード2.)。一ページに対し、レコード
セット一行が対応します。このあたりが悪さをしていると思われますが、
printoutメソッドが悪いのか、format時イベントが悪いのか切り分けが
できません。

とりあえずprintoutメソッドの使用法に間違いがあるのかと考え、投稿
させていただきました。printoutメソッドについて情報をお持ちの方、
よろしくご教示ください。

1. PrintOutメソッド使用プロシージャ

  DoCmd.openReport REPORT_NAME, acViewPreview, , , , acHidden
  DoCmd.SelectObject acReport, REPORT_NAME, True
  
  'テーブルを開く
  Set Prtcnn = CurrentProject.Connection
  Set Prtrst = New ADODB.Recordset
  
  Prtrst.Open "select * from " & TBL_NAME_PRT_PCK & " where SIYO_FLG=true order by PAGE_FROM ", Prtcnn, adOpenKeyset, adLockReadOnly
  
  Prtrst.MoveFirst
  
  Do Until Prtrst.EOF
    strPrinter = Prtrst!PRT_NM
    Set prt = Application.Printers(strPrinter)
    Set Application.Printer = prt
    
    DoCmd.PrintOut acPages, Prtrst!PAGE_FROM, Prtrst!PAGE_TO
    
    Prtrst.MoveNext
  
  Loop

  DoCmd.Close acReport, REPORT_NAME, acSaveNo

  Prtrst.Close
  Prtcnn.Close

2.帳票イベント

Private Sub Report_Open(Cancel As Integer)
  'テーブルを開く
  Set cnn = CurrentProject.Connection
  Set rst = New ADODB.Recordset
  rst.Open TBL_NAME_PCK, cnn, adOpenKeyset, adLockReadOnly

  rst.MoveFirst
  
End Sub

Private Sub 詳細_Print(Cancel As Integer, FormatCount As Integer)
  
  〜各処理〜
   
  rst.MoveNext
  
  If rst.EOF Then
    rst.Close
    cnn.Close
  End If
End Sub
615 hits

【8194】Printoutメソッドのページ指定 sim 06/7/10(月) 20:08 質問
【8197】Re:Printoutメソッドのページ指定 hatena 06/7/10(月) 23:21 回答
【8202】Re:Printoutメソッドのページ指定 sim 06/7/11(火) 10:10 質問
【8205】Re:Printoutメソッドのページ指定 hatena 06/7/11(火) 12:06 回答
【8206】Re:Printoutメソッドのページ指定 sim 06/7/11(火) 14:34 お礼
【8207】Re:Printoutメソッドのページ指定 hatena 06/7/11(火) 15:10 回答

5034 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078228
(SS)C-BOARD v3.8 is Free