2017-05-04 71 views
0

我正在使用ADO从Excel工作簿导入数据。我遇到了一个工作表的问题,其中一个列名包含一个点:“Col.1”。如何选择哪个字段名称包含点的列

我尝试了所有我发现的东西:双引号,括号,后挡。什么都没有在每一行中引发错误或者查询输出“Col.1”。

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

鉴于这一事实,我不能重命名源文件中的列,

我如何使用手动的名字而不是它的号([F1])选择此列?

+2

你的意思是你已经试过方括号'[]'或括号'()'? –

+0

如何用反斜杠转义点? '\ .' –

+0

你有没有尝试将点符号写成像html转义或在*。*之前使用*'*? – Radinator

回答

3

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

您需要将替换为“。”。按“#”,并在方括号或backsticks放列名:

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 

虽然这对我来说是太大的问题,因为我可以在目标表重命名所有领域,这仍然是一个奇怪的行为。

相关问题