从两个表中删除选择查询中的记录...哪个表受到影响?

时间:2017-09-21 22:11:03

标签: sql ms-access access-vba

我有两张表加入一段关系。

  1. tblEmployeeDetails
  2. tblEmployeeDocumentExpiry
  3. 选择强制参照完整性时,表会以多对多方式连接。

    我有一个查询,它结合了两个表[queryEmployees]的数据 我有一个表单可以在查询 [frmEmployeeMgmt]上输入/更新/删除数据。

    我的问题只是删除该查询中的记录。当我删除一条记录时,它只会从一个表中删除[EmployeeDocumentExpiry]。我正在寻找一种方案,当从该查询中删除记录时,它将从两个表中删除。

    请任何想法。 https://i.stack.imgur.com/WbWMb.png

2 个答案:

答案 0 :(得分:0)

我认为你的两个表需要使用相同的外键来执行删除,但它会删除所有具有该EmpID的文档。

delete tblEmpDetails, tblEmpDocExp from tblEmpDetails inner join tblEmpDocExp where tblEmpDetails.EmpID = tblEmpDocExp.EmpID and tblEmpDetails.EmpID = '999';

或在以下两个声明中<或者

delete from tblEmpDetails where tblEmpDetails.EmpID = '999'
delete from tblEmpDocExp where tblEmpDocExp.EmpID = '999'

希望这会有所帮助。

答案 1 :(得分:0)

如果您有一对多的关系,并希望删除与删除&#34; one&#34;相关的所有相关记录。记录您可以配置关系属性:选择关系,双击它以显示其属性并检查&#34;级联删除相关记录&#34;。

启用此选项后,您只需从employee表中删除记录,而不是通过引用错误而失败,DB将删除与该员工相关的所有记录(请谨慎使用)。

enter image description here