如何从vba中的链接表中删除记录

dav*_*ati 2 sql ms-access vba ms-access-2010

当我从 2010 年访问数据库中的本地表中删除 * 记录时,我没有任何问题,但是当我循环遍历列表并点击链接表(本地数据库,这是一个 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
Run Code Online (Sandbox Code Playgroud)

代码在 tblLocal1 上运行良好,但在任何遥控器上都不起作用。

我可以打开数据表中的表并删除记录,没有问题,只是不是通过这里。

pte*_*don 5

我敢打赌,你围绕表名构建的 SQL 会令人窒息-。SQL 将视为DELETE * FROM tblRemote-2 WHERE ...DELETE * FROM tblRemote - 2 WHERE ...无意义的减法),除非您用方括号将表名括起来。将其更改为DELETE * FROM [tblRemote-2] WHERE ...,你应该没问题。