2017-05-04 112 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 

雖然這對我來說是太大的問題,因爲我可以在目標表重命名所有領域,這仍然是一個奇怪的行爲。

相關問題