- ベストアンサー
CSVの行数を取得したい
VB6.0で開発しています。 カンマ区切りの""で囲まれたcsvファイルがあります。 例) "1","東京本社","","おとこ","山田太郎","" このデータをinsertしていくプログラムを標準モジュールで書きました。 正常に動いています。 処理件数を表示する画面をつくりたいのですが、タイマーコントロールにどう書けばよいでしょうか? Private Sub tmrSql_Timer() lblSqlProgress.Caption = insert済みの件数 & "/" & csvファイルの行数 & "の処理が終了しました" End Sub 上記のように記述すればよいのかな、と思っています。で、 1.insert済みの件数 2.csvファイルの行数 ってどうすればわかるんでしょう?? ご存知の方教えてください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>1.insert済みの件数 カウンタ用の変数を設けて、インサート毎に+1していきます。 >2.csvファイルの行数 一度、すべて 取り込まないと行数はわかりません。 ないとは思いますが、特に、データに改行が含まれている場合は、その処理も必要です。 通常、このような表示の処理は、タイマーイベントなどでするのではなく、 インサート直後に表示したらいいと思います。 表示の時、DoEventsなどのような再表示処理を入れないと 正しく表示されません。
その他の回答 (2)
- wtnb_h
- ベストアンサー率35% (14/40)
CSVファイルの行数について。 VBで開発したことないのですが、参考になれば。 VBで参照設定などをして、データベースを使うようにし、SQLは発行出来ないでしょうか? CSVファイルをテーブルと見立てて、テーブルの行数を取得するって言うのはどうでしょう? SQLはこんな感じで。 SELECT COUNT(*) FROM CSVファイル名
お礼
wtnb_hさん、ご回答ありがとうございました。 なるほど、参考になりました。 とりあえず今回は、カウンタをつけてやってみます。 どうもありがとうございました。
- Seiryo
- ベストアンサー率13% (27/203)
>csvファイルの行数 処理の仕方によっては使い物にならない
お礼
なるほど、とりあえずカウンタでやってみます。 参考になりました。 どうもありがとうございました。