问题描述
场景:一个有 2 个表的数据库。两者都有相同的字段。它们没有连接,也没有查询,也不应该有。表 1 插入表单并不断更新,表 2 都没有! Table1在记录中有一个复选框:如果在表单中设置,则应将记录复制到table2中。如果删除,则应再次删除 table2 中的记录。这样,即使在 Table1 已更新后,所选记录仍应保留在 Table2 中。我在处理 sql 代码时遇到了问题...它可以正常工作,但是在删除记录时出现各种错误,并且记录没有删除!
VBA 代码作为代码(单击时)以表单形式附加到复选框元素“chBox”
If chBox.Value = True Then
CurrentDb.Execute _
"INSERT INTO tblSaveSelection " & _
"SELECT * FROM tblMain WHERE chBox =TRUE"
'maybe an idea here too? Do not insert all records but only this
'one with the activated chBox?
ElseIf chBox.Value = False Then
CurrentDb.Execute _
"DELETE FROM tblSaveSelection " & _
"SELECT * FROM tblMain WHERE chBox.value =false"
'!!!!! Here ist the problem...it should be: delete the one record from tblSaveSelection
'where ID = tblMain.ID AND tblMain.chBox = FALSE !!!!!!
End If
解决方法
选项:
-
"DELETE FROM tblSaveSelection WHERE ID = " & Me.ID
-
"DELETE FROM tblSaveSelection WHERE ID IN (SELECT ID FROM tblMain WHERE chBox = False)"