防止删除访问表中的最后一条记录

时间:2013-06-19 15:01:00

标签: ms-access-2013

我为访问数据库创建了一个loginform,但是如何阻止任何用户删除最后一条记录 例如:如果login_table中有两条记录或更多。用户可以删除所有记录,但不能删除最后一个记录

3 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点: 1.在服务器端代码上创建约束,以检查删除记录时是否只有一条记录。 2.在表上创建一个触发器,阻止用户删除最后一条记录。

答案 1 :(得分:0)

在Access 2013中完成此操作的最简单方法可能是创建一个“Before Delete”数据宏,如下所示:

If  DCount("*","Table1")<2  Then
    RaiseError
             Error Number  1
        Error Description  You cannot delete the last remaining record in this table.
End If

要创建此数据宏,请在“设计视图”中打开表,然后在功能区的“设计”选项卡上单击“创建数据宏”,然后选择“删除前”。 (请记住将“Table1”替换为表格的实际名称。)

答案 2 :(得分:0)

以前的记录保存在表格中,因此可以删除。在表格关闭或采取行动进入另一条记录之前,输入的记录实际上并未保存在表格中。

在条目表单上,我创建了一个具有相同字段的重复表。输入表单将数据临时放入第一个表中。然后我创建了两个查询。一个从临时表更新到辅助表。第二个查询清除第一个表,使其为新数据输入做好准备。查询的操作需要命令条目以在运行两个查询之前保存记录。我通过创建一个宏来按顺序执行操作来执行此操作。 1.保存记录,2将数据复制到第二个表,3清除第一个表。

您可以更好地控制数据。