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

Lic*_*h4r 2 sql ado

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

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

QUERY_SQL = _
"SELECT `Col.1`, Col3 FROM [table$] " & _
"IN '" & SourcePath & "' " & CHAINE_HDR
Run Code Online (Sandbox Code Playgroud)

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

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

Lic*_*h4r 6

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

你需要替换"." 按"#"并将列名放在方括号或后缀中:

QUERY_SQL = _
"SELECT `Col#1`, Col3 FROM [table$] " & _
"IN '" & SourcePath & "' " & CHAINE_HDR
Run Code Online (Sandbox Code Playgroud)

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

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

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