如何选择列哪个字段名称包含一个点

时间:2017-05-04 13:29:59

标签: sql ado

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

我尝试了所有我发现的东西:双引号,括号,背板。什么都行不通。引发错误或查询输出" Col.1"在每一行。

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

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

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

1 个答案:

答案 0 :(得分:6)

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

您需要替换“。”通过“#”并将列名放在方括号或后缀中:

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

虽然这对我来说不那么成问题,因为我可以重命名目标表中的所有字段,但这仍然是一种奇怪的行为。

相关问题