使用 VBA 和 SQL 从一个 ACCESS table 到另一个 table 的 DELETE 和 INSERT 记录
DELETE and INSERT records from one ACCESS table to another table with VBA and SQL
场景:一个有 2 个表的数据库。两者具有相同的字段。它们没有连接,也没有查询,也不应该有查询。 Table1 被插入到一个表单中并不断更新,其中 table2 none 个! Table1的记录中有一个checkbox:如果在form中设置了,则记录要复制到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)"
场景:一个有 2 个表的数据库。两者具有相同的字段。它们没有连接,也没有查询,也不应该有查询。 Table1 被插入到一个表单中并不断更新,其中 table2 none 个! Table1的记录中有一个checkbox:如果在form中设置了,则记录要复制到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)"