- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vbプログラムでの長時間バッチ処理の途中経過件数を表示したい。)
vbプログラムでの長時間バッチ処理の途中経過件数表示方法
このQ&Aのポイント
- vbで多量の件数を処理するバッチプログラムがあります。現在何件処理済みかを、1000件単位でtext項目へ表示させたいと思っています。
- ProgressBarとか考えましたが、表示内容が今ひとつでした。トータル件数と現在実行済み件数だけの表示でよいのですが、上手くいきません。
- 仕方がなく表示用にプログラムをもう一つ作りまして、件数情報をそのプログラムに渡して表示させています。この仕組みが割と複雑で、もっと簡単にvb機能だけでできるのではないかと思っています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Do While ... ... DoEvents Loop のようにループの中に DoEvents を入れてみてはどうでしょうか。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17070)
回答No.2
自信ないですが、バッチ時代を振り返り ・総レコード数が最初に判れば、レコードを読む都度カウントを+1し、区切りの良い1000レコードとか読んだ時にX千/全体数で%(処理済み割合)を出せます。 ・固定長なら、ファイルレングスが取れないか考える。 全体長/レコード長でレコード数が出ます。 ・それらができなければ、ファイルを書き終わったとき、レコード数を、別ファイルに書き出す(当然短いファイルです。)処理の始めにそのファイルをよみ全体レコード数を知る。
質問者
お礼
早速のご回答ありがとうございます。 いつもご回答頂きまして感謝しています。 今回は全体の件数と表示したい数値はわかっているのですが、プログラムの処理中にその値を画面に出す部分を知りたいと思っています。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.1
>トータル件数と現在実行済み件数だけの表示で >よいのですが、上手くいきません。 どこがどのように上手くいかないんですか?
質問者
補足
数値をテキストへ出力して、表示(show)しても表示されません。 バッチ処理が完了して画面へ制御が戻った時点で表示されます。 ちなみにリストボックスに変えて表示をしていくと垂直バーが上がって行きますので、表示自体はされていると思いますが、肉眼で見ることは出来ません。
お礼
有り難う御座います。 テストしました。 GOODでした!