VBA adodb记录集字段名包含哈希符号而不是点

时间:2018-02-20 11:19:03

标签: vba adodb recordset

我编写了excel宏,它将CSV文件导入内部自定义数据集,以备将来在其他功能中使用。我正在使用Schema.ini文件为CSV文件中的每个列配置字段类型。我遇到了一个无法在网上找到解决方案的问题。 CSV文件正在正确读取,但在原始CSV列标题中包含一个点符号“。”记录集将其读作哈希符号“#”。是否有任何我需要注意的设置才能使宏适合我?

Dim sqlConnection As ADODB.Connection
Set sqlConnection = CreateObject("ADODB.Connection")
Dim sqlRecordset As ADODB.Recordset
Set sqlRecordset = CreateObject("ADODB.Recordset")

sqlConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=" & sCSVFolderPath & ";" & _
      "Extended Properties=""text;HDR=YES;FMT=Delimited(,)"""

sqlRecordset.Open "SELECT * FROM " & "[" & sCSVFileName & "]", _
          sqlConnection, sqlOpenStatic, sqlLockOptimistic, adCmdText

再次 - 任何时候列标题都包含点符号(即'Header.1'),它将被哈希符号('标题#1')读取。

1 个答案:

答案 0 :(得分:0)

在我看来,好像adodb用井字字符替换了分隔符(例如点)。如果您确定字段名称不包含哈希,则可以将其改回点,但我不会将其称为解决方案。...

不知道其他字符是否也被adobd替换。