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

问题描述

场景:一个有 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

解决方法

选项:

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

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