我在Access中有三個表:一個鏈接到Excel,一個鏈接到MySQL,一個名爲LastQuery的本地表具有單個行和一列。我在一個帶有計時器的窗體中使用VBA查詢來從Excel表中選擇數據並將其插入到MySQL表中。與此同時,我更新了插入到LastQuery的最後一條記錄的dtmInsertedTime
(在標題爲last
的行中),以便下一次表單計時器打勾時,它將從下一條記錄繼續並繼續,直到它插入到每條記錄記錄。我的代碼很簡單,但我收到錯誤,無法按照我所描述的那樣工作。這裏是我的代碼:從一個鏈接表插入行到另一個
Private Sub Form_Timer()
CurrentDb.Execute "INSERT INTO tblevent (vchrFacility, intWorkCell, intStn, intEventCode) SELECT vchrFacility, intWorkCell, intStn, intEventCode from excelTblEvent where dtmInsertedTime > LastQuery.Last"
CurrentDb.Execute "UPDATE LastQuery, excelTblEvent SET LastQuery.Last = excelTblEvent.dtmInsertedTime"
End Sub
編輯:
我不能做它沒有你們。我的代碼不正是我想要它做的,沒有任何問題:
Option Compare Database
Private Sub Form_Timer()
CurrentDb.Execute "INSERT INTO tblevent (vchrFacility, intWorkCell, intStn, intEventCode) SELECT vchrFacility, intWorkCell, intStn, intEventCode FROM excelTblEvent WHERE dtmInsertedTime > DLookup('Last', 'LastQuery')"
CurrentDb.Execute "UPDATE LastQuery, excelTblEvent SET LastQuery.Last = excelTblEvent.dtmInsertedTime"
End Sub
您收到哪些錯誤? –
我每次修改代碼時都會收到一個不同的錯誤。對於上面的代碼,我得到了運行時錯誤3061(參數太少,預期1)。我的研究顯示它是由於查詢中的一個錯誤,所以我擺脫了查詢的哪個部分,並且出現了運行時錯誤3155(ODBC - 在鏈接表上插入失敗) – Th1nker