【发布时间】:2021-08-02 02:01:51
【问题描述】:
场景:一个有 2 个表的数据库。两者都有相同的字段。它们没有连接,也没有查询,也不应该有。 Table1 被插入到一个表单中并且不断更新,table2 一个都没有! Table1的记录中有一个checkbox:如果在表单中设置,则应该将记录复制到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)" -
为什么会有两个相同的表重复数据?为什么不只使用 chBox 字段并使用查询来过滤记录?这是一个多用户数据库吗?用户在设置 chBox 值时是否存在冲突?
-
它有效。谢谢!
标签: sql vba ms-access insert sql-delete