从 2010 年 Access 数据库中的本地表中删除 * 记录时,我没有任何问题,但是当我循环遍历列表并点击链接表(本地数据库,这是一个 fe/be 设置)时,它失败了: 运行时错误“3131”:FROM 子句中存在语法错误。代码:
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 上运行良好,但在任何 Remote 上都运行不佳。
我可以打开数据表中的表并删除记录,没有问题,只是不通过这里。
最佳答案
我敢打赌,您围绕其中包含 -
的表名构建的 SQL 会令人窒息。 SQL 会将 DELETE * FROM tblRemote-2 WHERE ...
视为 DELETE * FROM tblRemote - 2 WHERE ...
(无意义的减法),除非您包装表名带方括号。将其更改为 DELETE * FROM [tblRemote-2] WHERE ...
就可以了。
关于sql - 如何从vba中的链接表中删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26103104/