访问2010表单添加而无需编辑和删除

时间:2015-09-16 16:32:40

标签: ms-access-2010

在Microsoft Access 2010上,我设置了一个数据库。在这个数据库中,我有我正在使用的动物的id号,以及我在每个动物上运行的测试。我试图这样做,以便我的研究人员可以在运行新测试时使用表单添加到数据库,但不允许对已经输入的测试结果进行任何编辑或删除。

我已尝试按如下方式设置表单的属性:

补充:是的

编辑:否

删除:否

但这不允许我向表单添加任何新数据。当我将编辑设置为yes时,我可以添加新数据并编辑现有数据,这不是我想要的。有没有什么办法解决这一问题?优选地,没有代码,或者如果这是解决问题的唯一方法,则详细解释vba的方法。

1 个答案:

答案 0 :(得分:0)

我不知道任何标准的Access功能,只能为一个表单中的新记录集锁定和解锁记录集字段。

您可以使用变通方法(使用VBA):

表单属性:

补充:是的

编辑:是

删除:否

在字段属性中:

设置每个字段已锁定:是

在每个字段的enter-and leave-event中添加此项(将FIELDNAME替换为实际的字段名)

Private Sub FIELDNAME_Enter()
    If Me.NewRecord Then
       Me.FieldName.Locked = False
    Else
       'to be sure...
       Me.FieldName.Locked = True
    End If
End Sub

Private Sub FIELDNAME_Exit(Cancel As Integer)
    Me.FieldName.Locked = True
End Sub 

但是我强烈建议仅为输入数据创建第二种形式。 您应该将第二个表单属性设置为数据条目 = true(我不确定数据条目是否因翻译而正确)或者通过VBA命令openForm将其与参数DataMode一起使用:= acFormAdd

然后,您可以通过按钮从第一个表单打开第二个"输入" -form。