我已经设置了一个子查询来选择我的记录,然后设置删除查询来执行操作。当我运行它时,我收到一条错误消息:
无法从指定的表中删除
这是删除查询中的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
答案 0 :(得分:1)
为了删除tbl_Comments
和tbl_Activity
中的所有记录,我只需要更改表格的关系,以便激活Cascade Delete
。强>
之后,tbl_BusUnits
上的简单删除查询也删除了其他表中的所有关联记录。
删除查询的代码如下:
PARAMETERS UnitID Short;
DELETE DISTINCTROW tbl_BusUnits.UnitID
FROM tbl_BusUnits
WHERE (((tbl_BusUnits.UnitID)<>[UnitID]));