印刷するページ数を求めるには

タグの編集
投稿者 FreDee  (社会人) 投稿日時 2009/1/15 21:05:30
お世話になります。

VB2008でSQLサーバーのデータベースから、入力したデータを印刷するプログラムを作成しています。
データの区分やページオーバーフロー(決まった行数)で、改ページを行います。
また、明細行は項目によってフォントを大きくしています。
複数ページになりますので、ページダイアログから、ページ指定が出来て指定の範囲のページを
印刷出来るようにしたいのですが、事前にページ数が算出できないとダイアログに表示出来ません。
ページ算出の方法と、指定範囲を印刷する方法を知りたいのですが、何方かご教授をお願いします。
投稿者 るしぇ  (社会人) 投稿日時 2009/1/15 22:06:14
> データの区分やページオーバーフロー(決まった行数)で、改ページを行います。
データの区分の数や行数から計算してください。

実際の計算式は、書き込まれた情報だけでは分かりません。
>何方かご教授をお願いします。
不可能です。
投稿者 FreDee  (社会人) 投稿日時 2009/1/15 22:29:28
るしぇさん 回答有難う御座います。

やはり、簡単には出来そうにないですね。

事前に、擬似的な印刷処理(実際は印刷しない)で、ページ数を求めてから、ダイアログを表示して
ページ指定するように力作業でやってみます。
投稿者 るしぇ  (社会人) 投稿日時 2009/1/16 01:49:16
> やはり、簡単には出来そうにないですね。
そんなことは言っていませんが?

データの区分の数も行数も簡単に分かるでしょうから
簡単に計算できるはずです。

データの区分の数と行数の判断で改ページする上に、
明細のみフォントが違うと決まってるなら1ページに
出力できる最大行数は変化しませんので、フォントも
関係ないですし。
投稿者 るしぇ  (社会人) 投稿日時 2009/1/16 01:55:46
日本語でいいなら、計算式は
 Σ(切り上げ((データの区分毎の明細行数) / (1ページに出力できる最大明細行数)))
です。