【发布时间】:2018-10-15 21:53:03
【问题描述】:
我在某些字段中有一个带有双引号(“)的 CSV 文件。当我尝试将数据上传到记录集中时,我遇到了崩溃。我在 VBA 中使用了以下代码:
Dim rscsv As ADODB.Recordset
Dim cncsv As ADODB.Connection
Set cncsv = New ADODB.Connection
cncsv.ConnectionString = "Driver=Microsoft Access Text Driver (*.txt, *.csv);Dbq="C:\Test\";Extensions=csv"
cncsv.Open
Set rscsv = New ADODB.Recordset
rscsv.Open "select * from " & fileName, cncsv, adOpenStatic, _
adLockReadOnly, adCmdText
我在记录集中得到不正确的数据,错误“94:无效使用 Null”在“rscsv.Open”select * from ...“行中。数据在双引号和之后所有字段都具有 Null 值。
例如,如果我有以下 CSV 数据
1 2 3 4
AAAA BB"BB 123 456
...在我的代码之后,我得到了
1 2 3 4
AAAA BB Null Null
如何使用替换选项上传数据(即类似这样的内容 替换(' " ', ' ') )?
【问题讨论】:
-
不确定这是否足以解决您的问题,但是,如果您尝试使用 replace, to target " ,VBA 要求您将它们加倍以显示一组。
""""被视为“。然而,显示一个空字符串只是两个双引号"",但使用vbNullString通常会快一点 -
@Brotato,你能给我提供一个代码示例吗?
-
“我遇到了崩溃”并不是对您所看到的问题的非常有用的描述。有错误信息/在哪一行?
-
@Tim Williams,我在记录集中得到不正确的数据,错误为“94:无效使用 Null”。数据在双引号字段中被修剪,之后所有字段都具有 Null 值。
-
@Kirill 对不起,我认为我没有正确理解这个问题;好像我在这里有点过头了。