2014-02-06 35 views
0

我有一個Excel工作簿,它具有與數據透視表的.csv文件的外部連接。 .csv中的一列(我們稱之爲ID)具有諸如「00000000000000101」之類的數據。我有一個簡單的SELECT ID FROM DATA.csv設置。Excel中的Microsoft Query - Casting類型?

在Microsoft Access中,在導入表格時,我可以在運行查詢之前將該字段分類爲文本。但是,在我目前的情況下,Excel/Microsoft Query將其作爲int來使用。我擡頭看了看CAST功能,並着手嘗試

SELECT CAST(ID AS TEXT)SELECT CAST(ID AS CHAR(255))

但都取得了我的錯誤

不正確的列表達式: 'CAST(ID AS XXX'

我是否正在使用此功能?我應該如何處理?

如果是相關的,這裏是我的連接字符串:

DBQ=C:\;Driver={Microsoft Access Text Driver (*.txt, *.csv)};DriverId=27;Extensions=txt,csv,tab,asc;FIL=text;MaxBufferSize=2048;MaxScanRows=25;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes; 
+0

我爲您的問題添加了MS-Access標籤,以便正確的人員查看。我忘記它是否被轉換或轉換訪問 – Twelfth

回答

0
+0

這並沒有產生任何錯誤 - 但不幸的是以相同的格式顯示(即000000000101 - > 101)。我猜Microsoft Query在SQL語句之前將它作爲int使用。 – csg

+0

爲了更好地理解,你是通過INSERT導入到現有的表中還是使用Access中的導入嚮導?如果您正在導入到現有的表中,該表可能已經將其轉換爲整數。 –

+0

我不是在Access中導入表格,而是通過Excel中的Access文本驅動程序進行外部連接。我設法修復它! - 通過使用schema.ini文件來指定.csv文件應該如何解釋。謝謝! – csg

1

我設法通過使用schema.ini文件來解決這個問題。這有助於指定Excel/Microsoft Query應該如何閱讀這些字段,並且它看起來很好地工作。感謝所有的幫助!