小编典典

如何选择字段名称包含点的列

sql

我正在使用ADO从Excel工作簿导入数据。我在一个工作表上遇到麻烦,其中一个列名包含一个点:“ Col.1”。

我尝试了所有发现的东西:双引号,方括号,后卫。什么都行不通。会引发错误,或者在每行上查询输出“ Col.1”。

QUERY_SQL = _
"SELECT `Col.1`, Col3 FROM [table$] " & _
"IN '" & SourcePath & "' " & CHAINE_HDR

鉴于我无法重命名源文件中的列,

如何使用其名称而不是其编号([F1])手动选择此列?


阅读 196

收藏
2021-04-14

共1个答案

小编典典

我终于找到了如何从此列中检索数据。

您需要 替换“。” 按“#”,然后将列名称放在方括号或后标中:

QUERY_SQL = _
"SELECT `Col#1`, Col3 FROM [table$] " & _
"IN '" & SourcePath & "' " & CHAINE_HDR

但是,这在INSERT INTO查询中不起作用。

INSERT INTO [sheet$] (Col2, `Col#4`) IN '" & TargetPath & "' 'Excel 12.0;' " & QUERY_SQL

虽然这对我来说没有太大问题,因为我可以重命名目标工作表中的所有字段,但这仍然是一个奇怪的行为。

2021-04-14