パソコン困りごと相談
◇-ちゃんと出力されるのに‥‥-スナ布巾(11/28-18:16)No.17672
 ┗Re:ちゃんと出力されるのに‥‥-Rei(11/29-00:41)No.17688
  ┗Reiさん返信ありがとー-スナ布巾(11/29-11:23)No.17698
   ┗Re:Reiさん返信ありがとー-Rei(11/29-23:19)No.17724

17672ちゃんと出力されるのに‥‥スナ布巾 11/28-18:16

OS名:WindowsNT
パソコン名:EXUS
ソフト名:プリンタかAccess2000
はじめまして。スナ布巾です。
以後宜しくお願い致します。

VBで開発したシステムから印刷処理を実行すると
罫線だけ出力されてデータが印字されない現象に悩んでおります。

開発したシステムのエラーかなと思い、何度も調べましたが
どうやらプログラムの不具合では無い様です。
ではAccsessかな? と思い何度もMDBを作成しては
入れなおしたのですが、どうやら濡れ手に泡にも
なりませんでした。
レポートの不具合ぢゃないのかとも
思いましたが、これも違いました。

しすてむの流れ
 実行ボタンを押す。
   ↓
 SQL実行。
   ↓
 読込データをAccsessへ。
   ↓
レポート機能で印刷。

意外な事に、正常に印刷される場合もあります。
また出力されない時にもおかしな
メッセージは表示されません。

これはプリンタの問題なのかと思い
色々と聞いてみた。
するとプリンタドライバがおかしいのでは?
という結論になりましが、
最新版のドライバをインストールしている様で
万策尽きた現状です。

それ以外に考えられる問題はあるのでしょうか。
もし知っておられるお方がいましたら
教えて下さいませ。
どんな事でも良いですから、
少しでも気になる点がございましたら
返信をお願いします。

プリンタはフジツーの
VSP2900GとVSP2730をポートで接続しています。
OSはNT4.0(SP5)
アプリは、VB6(SP3)及びAccsess2000を使用しております。


どうか、宜しくお願いします。

17688Re:ちゃんと出力されるのに‥‥Rei 11/29-00:41
記事番号17672へのコメント
スナ布巾さんは No.17672「ちゃんと出力されるのに‥‥」で書きました。
> 実行ボタンを押す。
>   ↓
> SQL実行。
>   ↓
> 読込データをAccsessへ。
>   ↓
> レポート機能で印刷。

mdbに含まれるレポートのレコードソースは
テーブルでレポートに連結しているのかな?
AccessのレポートをCreateObjectして
印刷しているってことかな?
よくわからないです。

罫線しか印字されないというのは
20ライン印刷される場合に20ライン分の
罫線が印刷されるのか、
データが無い時のようにヘッダー部だけが
印刷されるのかによっても切り分けが違います。

時々印刷できるというのも
同じデータで同じ印字内容が出たり
出なかったりするのであれば、
プログラムの不具合のような気がします。

プログラムからの印字指示を
PrintではなくPreviewにすると何か変化が
ありますか?プレビューなら100%印字
されているのであればプリンタードライバの
問題も考えられます。

Accessだけを起動してレポートの印刷を
行う場合は印刷できるのですか?
100%できるのであれば
プリンタドライバには問題はないと思います。

なんとなくデータの抽出タイミングと
印刷の指示のタイミングが同期していないことが
原因のような気がしますけど。
データの渡し方がよくわからないので憶測ですが
SQL実行後完全に抽出が終わったのを確認してから
レポートの出力指示をしていますか?

17698Reiさん返信ありがとースナ布巾 11/29-11:23
記事番号17688へのコメント
オハヨウございます。スナ布巾です。
今朝遅刻しました(余談)

>mdbに含まれるレポートのレコードソースは
>テーブルでレポートに連結しているのかな?
>AccessのレポートをCreateObjectして
>印刷しているってことかな?
>よくわからないです。

Re→その通りでございます。
連結しちゃってるし、
CreateObjectもなんのそのです。

>罫線しか印字されないというのは
>20ライン印刷される場合に20ライン分の
>罫線が印刷されるのか、
>データが無い時のようにヘッダー部だけが
>印刷されるのかによっても切り分けが違います。

Re→データが無い場合は印刷処理をなっしんぐでございます。
印刷処理は確実にデータがある場合のみ。
前者が正解に近いと思ってください。ませ。

>時々印刷できるというのも
>同じデータで同じ印字内容が出たり
>出なかったりするのであれば、
>プログラムの不具合のような気がします。

Re→そ、そうなのか‥‥。

>プログラムからの印字指示を
>PrintではなくPreviewにすると何か変化が
>ありますか?プレビューなら100%印字
>されているのであればプリンタードライバの
>問題も考えられます。

Re→Previewか。なるほど。

>Accessだけを起動してレポートの印刷を
>行う場合は印刷できるのですか?
>100%できるのであれば
>プリンタドライバには問題はないと思います。

Re→こいつは、どうだったかな。
VBのデバッグ機能でAccsessにデータを落としたところで
Break(実行処理中断)させ、
そのMDBを見てみるとキッチリデータは入っとる。
プレビューで見ても正確に表示される。
でも印字されてくんない。

>なんとなくデータの抽出タイミングと
>印刷の指示のタイミングが同期していないことが
>原因のような気がしますけど。
>データの渡し方がよくわからないので憶測ですが
>SQL実行後完全に抽出が終わったのを確認してから
>レポートの出力指示をしていますか?

Re→たいみんぐは、どうだったかな。
まず、
MDBを作成する。
(雛型MDBをコピー)
   ↓
コピーしたMDBを開く
   ↓
SQLでデータを取得
   ↓
コピーしたMDBに取得データを落とす
   ↓
コピーしたMDBをとじる
   ↓
コピーしたMDBを削除する


という処理でス。
以上で「これは‥‥」と何かヒラメいたのであれば
返信してください。ませ。

Reiさん。頼りにしています。
このままではムー民に会わせる顔がありません。
宜しくお願いします。

17724Re:Reiさん返信ありがとーRei 11/29-23:19
記事番号17698へのコメント
スナ布巾さんは No.17698「Reiさん返信ありがとー」で書きました。
>>なんとなくデータの抽出タイミングと
>>印刷の指示のタイミングが同期していないことが
>>原因のような気がしますけど。
>>データの渡し方がよくわからないので憶測ですが
>>SQL実行後完全に抽出が終わったのを確認してから
>>レポートの出力指示をしていますか?
>
>Re→たいみんぐは、どうだったかな。
>まず、
>MDBを作成する。
>(雛型MDBをコピー)
>   ↓
>コピーしたMDBを開く
>   ↓
>SQLでデータを取得
>   ↓
>コピーしたMDBに取得データを落とす
>   ↓
>コピーしたMDBをとじる
>   ↓
>コピーしたMDBを削除する
>

「レポートの印刷」はどこいっちゃったんでしょう。

またまた憶測なのですけど、
「コピーしたMDBに取得データを落とす」とは
どうやってやってるのでしょう?
SQLでどっかぁんとテーブルにINSERTしてるのか、
DAOとADOを使って1レコードずつ格納してるのか・・・。

「コピーしたMDBに取得データを落とす」で、
確実に「データが落ちた」ことを確認して
レポートの出力を開始してますか?
わたしが同期が取れていないのでは?と言ってるのは
この部分なのですけど・・・。たぶん大丈夫ですよね。
以前、プロセスの同期を意識しないプログラムを書いていて
印刷できるできないと騒いだ人を見たことあるので
ちょっとこだわってるだけです。
原因はもっと別のところかもしれません。

>このままではムー民に会わせる顔がありません。

わたしはミーが好きでした(^^;。

あとAccess2000ではどうなったか調べてませんけど
前のバージョンまではプリントプロセッサの設定で
RAWデータのスプールをしないと印刷できないことも
ありました。今回の件とはたぶん関係ないと思いますけど。