[リストへもどる]
一括表示

投稿時間:2003/06/18(Wed) 21:07
投稿者名:だいちゃん
URL :
タイトル:
CSVファイル操作について
最近VBをはじめた初心者なのですが、CSVファイルについてどなたか教えて
頂けないのでしょうか。たとえば10件のレコードがあり5件目から
読み始めたいとした場合に先頭から順読みしていく方法以外にないので
しょうか。いきなり5件目から読み始める方法はあるのでしょうか?

投稿時間:2003/06/18(Wed) 21:55
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: CSVファイル操作について
結論から言えば先頭からしか読み込むしかありません。
ここのファイル操作関係やFileSystemObject関係をみておいて下さい。
ただ、FileSystemObjectを使って読み飛ばしをすれば、それに近い事はできます。
(FileSystemObject関係の最後の項目参照)
又、10件位のレコードなら最初から読んでも途中から読んでも殆ど変わらないかと
思うのですが、なぜ途中から読む必要があるのですか?
場合によっては目的を達成する方法があるかもしれません。
(ファイルが大きくて読み込みに時間がかかるので必要な部分だけを読み込みたい時など)

このような事もできます。
Private Sub Command1_Click()
    Dim Fso     As New FileSystemObject
    Dim FsoTS   As TextStream
    Dim myText  As String
    Set FsoTS = Fso.OpenTextFile("c:\test.csv")
    With FsoTS
        Do Until .AtEndOfStream
            Select Case .Line
                Case 1, 3, 7, Is > 9
                    myText = myText & .ReadLine & vbNewLine
            Case Else
                .SkipLine
           End Select
        Loop
    End With
    FsoTS.Close
    Set FsoTS = Nothing
    Debug.Print myText
End Sub

投稿時間:2003/06/19(Thu) 09:54
投稿者名:だいちゃん
URL :
タイトル:
Re^2: CSVファイル操作について
回答ありがとうございます。件数10件というのはあくまで例題でして実際は
もっとレコード数が多くなるのでレスポンスを考えた時に該当レコードから
必要なレコードだけ読むことはできないものかと、基本は読み飛ばしという事
ですね。

投稿時間:2003/06/19(Thu) 20:46
投稿者名:Say
Eメール:
URL :
タイトル:
Re^3: CSVファイル操作について
大量データからの読み出し速度が重要なら、
固定長かランダムファイルにしてはどうでしょう?
部分書き換えも可能ですし・・・。

固定長csvという手もありますが・・・。
(単に固定長をスペース埋めして項目末にカンマつけただけ)

ハッシュやIndexを併用すると、好みの順番で高速アクセス可能ですし・・・
って、これじゃISAMですね (^^;