如何使删除查询在MS Access中工作

时间:2016-08-31 13:22:24

标签: sql ms-access ms-access-2010

我已经设置了一个子查询来选择我的记录,然后设置删除查询来执行操作。当我运行它时,我收到一条错误消息:

  

无法从指定的表中删除

这是删除查询中的SQL代码:

PARAMETERS UnitID Short;
DELETE DISTINCTROW qry_exp_comments_select.*
FROM qry_exp_comments_select;

被调查的子查询:

PARAMETERS UnitID Short;
SELECT tbl_Comments.*, tbl_Activity.ActivityID
FROM tbl_BusUnits INNER JOIN (tbl_Activity INNER JOIN tbl_Comments ON tbl_Activity.ActivityID = tbl_Comments.ActivityID) ON tbl_BusUnits.UnitID = tbl_Activity.UnitID
WHERE (((tbl_BusUnits.UnitID)<>[UnitID]));

为什么查询不起作用?我尝试将其设置为以下帖子中的一个:MS ACCESS delete query syntax combined with inner join problems

1 个答案:

答案 0 :(得分:1)

为了删除tbl_Commentstbl_Activity中的所有记录,我只需要更改表格的关系,以便激活Cascade Delete

之后,tbl_BusUnits上的简单删除查询也删除了其他表中的所有关联记录。

删除查询的代码如下:

PARAMETERS UnitID Short;
DELETE DISTINCTROW tbl_BusUnits.UnitID
FROM tbl_BusUnits
WHERE (((tbl_BusUnits.UnitID)<>[UnitID]));