使用VBA和SQL从一个ACCESS表向另一个表删除和插入记录



场景:一个包含2个表的数据库。两者都有相同的字段。它们没有连接,也没有查询,也不应该有查询。表1插入到表单中并不断更新,表2没有!表1在记录中有一个复选框:如果在表单中设置了复选框,则应将记录复制到表2中。如果删除,则表2中的记录应再次删除。这样,即使在更新了表1之后,所选记录也应保留在表2中。我的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

选项:

  1. "DELETE FROM tblSaveSelection WHERE ID = " & Me.ID

  2. "DELETE FROM tblSaveSelection WHERE ID IN (SELECT ID FROM tblMain WHERE chBox = False)"

最新更新