【问题标题】:Access 2010 Form Additions without Edits and Deletions无需编辑和删除即可访问 2010 表单添加
【发布时间】:2015-09-18 17:50:43
【问题描述】:

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

我已尝试将表单的属性设置如下:

添加:是的

编辑:否

删除:否

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

【问题讨论】:

  • msdn.microsoft.com/en-us/library/office/ff820845.aspxacFormDataMode——你可以给不同的人不同的权限。
  • 这个页面我试过了,谢谢。它允许不同的人拥有不同的权限,但每个人都允许添加和编辑,而我只想要添加。
  • 我认为你没有检查acFormDataMode,请阅读msdn.microsoft.com/en-us/library/office/ff191834.aspx
  • 我确实看到了,我认为我需要“0”数据添加模式。但是研究了几天,还是不明白怎么进入数据模式,怎么使用vba等等。这是我们实验室第一次使用access
  • 我不明白,你是设计师,你为什么有问题?你没有前端和后端吗?如果是这样,您正在寻找问题。

标签: ms-access-2010


【解决方案1】:

我不知道任何标准的 Access 功能只能为一种形式的新记录集锁定和解锁记录集字段。

您可以使用解决方法(使用 VBA):

表单属性:

添加:是的

编辑:是的

删除:否

在字段属性中:

设置每个字段锁定:是

在每个字段的进入和离开事件中添加这个(将 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 

但是我强烈建议只为输入数据创建第二个表单。 您应该将第二个表单属性设置为 Data Entry = true (我不确定 Data Entry 是否由于翻译而正确)或通过 VBA 命令 openForm 使用参数 DataMode :=acFormAdd

然后您可以通过按钮从第一个表单打开第二个“输入”表单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    相关资源
    最近更新 更多