...    
    Set objRecSet = CreateObject("ADODB.Recordset")
    Set objObjConn = CreateObject("ADODB.Connection")
    
    strCSVFileNamePath = "C:\\"
    strCSVFileNameOnly = "book1.csv"
    objObjConn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};" & "dbq=" & strCSVFileNamePath & ";"
    objRecSet.Open "SELECT * FROM [" & strCSVFileNameOnly & "]", objObjConn, 3, 1
    Text1.Text = objRecSet.fields.Item(2)
...
book1.csv文件的内容:
Field1,Field2,Field3
www,,S1============================
请大家猜猜以上程序的结果,有条件的可以亲自写个程序试试。

解决方案 »

  1.   

    以上的S1会变为1
    因为S或SSSSSSS会当做adCurrency 的类型声明。
    不管数字前有多少个S,ADO数据引擎在取得记录时,都把本列做为Currency处理。而且,当你有多行数据时,只要有一行包含此种格式,都会使得本列变为Currency类型,其他行如果是字串,比如ABC,ADO的记录集会返回0如果是想ADO把它当做字符处理,那么把大写的S改为小写的s即可。
      

  2.   

    实验出真知,呵呵。楼上精神可嘉,不过这谈不上是BUG吧LZ?
      

  3.   

    province_(雍昊),这不算是BUG么?
      

  4.   

    另外,不只是S,K和F也存在这样的问题,想问一下province_(雍昊),这怎么解释呢?
      

  5.   

    上面同样的问题也提给 yechat(点尘不惊) 解释。
      

  6.   

    Ft
    kr
    TL
    SIT
    以上等,和数字组合时,也会发生以上字符丢失的情况。