我需要將Excel文件中的某些信息導入到Access數據庫中,並且爲了執行此操作,我正在使用DAO。使用DAO和WHERE子句將Excel中的數據導入Access
用戶從系統獲取excel源文件,他不需要直接與它交互。這個源文件有10列,我需要從中只檢索某些記錄。
我使用這個檢索所有記錄:
Set destinationFile = CurrentDb
Set dbtmp = OpenDatabase(sourceFile, False, True, "Excel 8.0;")
DoEvents
Set rs = dbtmp.OpenRecordset("SELECT * FROM [EEX_Avail_Cap_ALL_DEU_D1_S_Y1$A1:J65536]")
我的問題是當我只想檢索某些記錄使用WHERE子句。我想要應用該子句的字段的名稱是'Date(UCT)'(請記住,用戶從另一個系統獲取該源文件),我無法獲取WHERE子句來處理它。如果我在另一個字段上應用WHERE子句,其名稱沒有()或空格,那麼它就起作用。例如:
Set rs = dbtmp.OpenRecordset("SELECT * FROM [EEX_Avail_Cap_ALL_DEU_D1_S_Y1$A1:J65536] WHERE Other = 12925")
前面的指令將只檢索的地方領域的其他具有值的記錄數12925.
誰能告訴我怎樣才能達到同樣的效果,但有一個字段名稱有空格和括號,即'日期(UCT)'?
非常感謝。
奧克塔維奧
嗨barrowc,我試過你的建議,但我沒有得到任何記錄。此外,字段[日期(UCT)]應該包含日期。我做了一個測試,將該字段中的所有值更改爲數字,但仍然得到一個空的rs。任何其他想法?謝謝! – Octavio 2013-02-12 14:19:52
'= 12925'部分直接來自問題。我已經修改了我的答案以顯示日期比較 – barrowc 2013-02-12 22:14:43