2014-09-29 71 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