• ベストアンサー

CSVの行数を取得したい

VB6.0で開発しています。 カンマ区切りの""で囲まれたcsvファイルがあります。 例) "1","東京本社","","おとこ","山田太郎","" このデータをinsertしていくプログラムを標準モジュールで書きました。 正常に動いています。 処理件数を表示する画面をつくりたいのですが、タイマーコントロールにどう書けばよいでしょうか? Private Sub tmrSql_Timer() lblSqlProgress.Caption = insert済みの件数 & "/" & csvファイルの行数 & "の処理が終了しました" End Sub 上記のように記述すればよいのかな、と思っています。で、 1.insert済みの件数 2.csvファイルの行数 ってどうすればわかるんでしょう?? ご存知の方教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

>1.insert済みの件数 カウンタ用の変数を設けて、インサート毎に+1していきます。 >2.csvファイルの行数 一度、すべて 取り込まないと行数はわかりません。 ないとは思いますが、特に、データに改行が含まれている場合は、その処理も必要です。 通常、このような表示の処理は、タイマーイベントなどでするのではなく、 インサート直後に表示したらいいと思います。 表示の時、DoEventsなどのような再表示処理を入れないと 正しく表示されません。

参考URL:
http://homepage2.nifty.com/kasayan/vba/doevents.htm
rio_grande
質問者

お礼

なるほど、とりあえずカウンタでやってみます。 参考になりました。 どうもありがとうございました。

その他の回答 (2)

  • wtnb_h
  • ベストアンサー率35% (14/40)
回答No.3

CSVファイルの行数について。 VBで開発したことないのですが、参考になれば。 VBで参照設定などをして、データベースを使うようにし、SQLは発行出来ないでしょうか? CSVファイルをテーブルと見立てて、テーブルの行数を取得するって言うのはどうでしょう? SQLはこんな感じで。 SELECT COUNT(*) FROM CSVファイル名

rio_grande
質問者

お礼

wtnb_hさん、ご回答ありがとうございました。 なるほど、参考になりました。 とりあえず今回は、カウンタをつけてやってみます。 どうもありがとうございました。

  • Seiryo
  • ベストアンサー率13% (27/203)
回答No.2

>csvファイルの行数 処理の仕方によっては使い物にならない

関連するQ&A

専門家に質問してみよう