ADODB.Connection,混合数据类型,在某些情况下不起作用

时间:2019-02-19 10:47:34

标签: excel vba

我通过ADODB.Connection通过excel文件导入数据

我有问题,因为数据丢失。

我尝试了varuis解决方法,但将问题根源解决会更省钱。

代码

fiPfad = "C:\Temp\Mappe1.xlsm"

Set cnO = New ADODB.Connection
cnO.Provider = "Microsoft.ACE.OLEDB.12.0"
cnO.ConnectionString = "Data Source=" & fiPfad & ";Extended 
Properties=""Excel 12.0;HDR=NO;IMEX=1"""

cnO.Open

rng = "A1:A30"
sht = "Tabelle1"

With cnO
    strSQL = "SELECT * FROM [" & sht & "$" & rng & "]"
    Set Rec = cnO.Execute(strSQL, dbOpenSnapshot)
    MyArr = Rec.GetRows
End With

cnO.Close

excel文件包含:

第一种情况: 在范围a1 = 12345 在范围a9 =文字

结果:文本不会被收集到数组中

第二种情况: 在范围a1 = 12345 在范围a8 =文字

结果:文本将被收集到数组中

我假设:在第一种情况下,连接驱动程序将整列视为numberformat。在第二种情况下,数据格式是混合的。

我试用了varuis设置,并尝试了varuis解决方法,但是将问题根源解决会更省钱。

我如何强制驾驶员以混合的形式取代覆盖位置的所有数据。

感谢您的时间,

橄榄

0 个答案:

没有答案