2014-09-29 52 views
0

從我的2010訪問分區中的本地表中刪除*記錄時,我沒有任何問題,但當我循環訪問我的列表並點擊鏈接表(本地數據庫,這是一個fe /被設置)失敗: 運行時錯誤'3131':FROM子句中的語法錯誤。代碼:如何從vba中的鏈接表中刪除記錄

If sanityCheck2 = vbYes Then 
     DoCmd.SetWarnings False 
     'list the tables to purge here 
     dalist = "tblLocal1 tblRemote-2 tblRemote-3" 
     darray = Split(dalist, " ") 
     For i = LBound(darray) To UBound(darray) 
      DoCmd.OpenTable darray(i) 
      DoCmd.RunSQL squirrel 
     Next 
     DoCmd.SetWarnings True 

代碼在tblLocal1上正常工作,只是沒有在任何遙控器上。

我可以打開數據表中的表並刪除記錄沒有概率,只是不通過這裏。

+0

您能顯示「松鼠」中的SQL命令嗎? – PaulStock 2014-09-29 15:18:47

+0

如果在SQL命令中存在語法錯誤,則向我們顯示此SQL命令!如果沒有語法可見,我們不能修復語法錯誤。 – 2014-09-29 15:20:08

+0

當你完成數組中的第一項('tblLocal1')時,你是否100%確定'tblRemote-2'的執行方式與你所想的一樣?這是你真正的表名嗎?當然,我們需要看到SQL。 – 2014-09-29 15:27:32

回答

3

我敢打賭,這會讓你窒息你在裏面建立的表名-。除非用括號括住表名,否則SQL將看到DELETE * FROM tblRemote-2 WHERE ...DELETE * FROM tblRemote - 2 WHERE ...(非感性減法)。改爲DELETE * FROM [tblRemote-2] WHERE ...,你應該沒問題。

+0

這就是它,謝謝@pteranodon! – davedigerati 2014-09-29 18:55:16