Open sFile For Input As #1 
    Do While Not EOF(1) ' Loop until end of file.
        Line Input #1, sFileString
        sChar = sChar & sFileString
    Loop
    Close #1
我想用上面的语句打开一个.DBF的文件,声明(不是VF的数据库文件,跟VF相似)。然后把里面的数据全部都读取出来。但是上面的语句只读出了少部分数据,大部分数据都没得到。请问有什么办法把我需要的数据全部读取出来,谢谢。请给些代码提示。

解决方案 »

  1.   

    可以试试能否用Excel打开,也许是FoxBase或Dbase文件
      

  2.   

    你的 sFile 文件中的都是文本吗?如果不是,有一些属于‘乱码’的无法显示,为0的字节(注意不是字符"0",是ASCII为0)可能也无法读到sFileString中。
      

  3.   

    input是读取文本文件,已回车字符结束。你可以用二进制方式打开。自己慢慢看就知道文件了嘛。
      

  4.   

    二进制读取试试
    On Error Resume Next
    Dim tb() As Byte, L As Long
    Open sFile  For Binary As #1      
    L = LOF(1)
    ReDim tb(L - 1)
    Get #1, , tb()
    Close #1
    Dim HTML As String
    HTML = StrConv(tb, vbUnicode)
      

  5.   

    二进制读取试试
    On Error Resume Next
    Dim tb() As Byte, L As Long
    Open sFile  For Binary As #1      
    L = LOF(1)
    ReDim tb(L - 1)
    Get #1, , tb()
    Close #1
    Dim HTML As String
    HTML = StrConv(tb, vbUnicode)
      

  6.   

    搂主,无论你的还是我的方法都有个弊端,就是文件
    大小不要超过64k,因为 sChar 是 String 类型,
    而String类型的最大范围就是64k。当然解决的方法
    很多,如可以用String数组,或边滚动边读。你自己
    看看吧Dim FileInfo() as Byte
    Dim sChar As String
    Redim FileInfo(FileLen(sFile)-1)
    Open sFile For Binary As #1
    Get #1,1,FileInfo
    Close #1
    sChar=StrConv(FileInfo,vbUnicode)
      

  7.   

    搂主,无论你的还是我的方法都有个弊端,就是文件
    大小不要超过64k,因为 sChar 是 String 类型,
    而String类型的最大范围就是64k。当然解决的方法
    很多,如可以用String数组,或边滚动边读。你自己
    看看吧Dim FileInfo() as Byte
    Dim sChar As String
    Redim FileInfo(FileLen(sFile)-1)
    Open sFile For Binary As #1
    Get #1,1,FileInfo
    Close #1
    sChar=StrConv(FileInfo,vbUnicode)
      

  8.   

    我觉得是文件格式的问题,line input是读取TXT文件的
      

  9.   

    搂主,无论你的还是我的方法都有个弊端,就是文件
    大小不要超过64k,因为 sChar 是 String 类型,
    而String类型的最大范围就是64k。当然解决的方法
    很多,如可以用String数组,或边滚动边读。你自己
    看看吧Dim FileInfo() as Byte
    Dim sChar As String
    Redim FileInfo(FileLen(sFile)-1)
    Open sFile For Binary As #1
    Get #1,1,FileInfo
    Close #1
    sChar=StrConv(FileInfo,vbUnicode)
      

  10.   

    搂主,无论你的还是我的方法都有个弊端,就是文件
    大小不要超过64k,因为 sChar 是 String 类型,
    而String类型的最大范围就是64k。当然解决的方法
    很多,如可以用String数组,或边滚动边读。你自己
    看看吧Dim FileInfo() as Byte
    Dim sChar As String
    Redim FileInfo(FileLen(sFile)-1)
    Open sFile For Binary As #1
    Get #1,1,FileInfo
    Close #1
    sChar=StrConv(FileInfo,vbUnicode)