【问题标题】:Is it possible to add records into Ms Access Form, while some fields are locked?是否可以在某些字段被锁定时将记录添加到 Ms Access 表单中?
【发布时间】:2018-06-05 22:02:22
【问题描述】:

在我的 Ms Access 表单中 - 我有一些锁定的字段。 因此,用户将无法更改现有信息。 但他们可能仍需要在表单中添加新记录。

是否可以在不更改或删除现有记录的情况下添加新记录?

谢谢,一如既往!

【问题讨论】:

  • “锁定字段”是什么意思,这是某种子表单、文本框还是其他?
  • 使用表单添加记录不会影响现有记录。你的问题到底是什么?
  • @Jiggles32 “锁定字段”是指“文本框”类型字段 - 例如 ClientName - 我在其中设置了一个设置(在数据部分下)启用 = 否,锁定 = 是。经过上述设置后,我的表单不再允许添加新记录
  • 您需要编写一些 VBA 代码来检查记录是否为新记录。如果是这样,请启用表单字段。
  • @MihaiAdrian 就我而言,它会影响现有记录。更改现有记录中的设置后(请参阅上面的评论),我无法将新记录添加到我的表单中。在我将文本框字段设置设置为 Enabled=no, Locked=yes 后 - 在我按下“新记录”按钮后 - 我的 ClientName“锁定”字段保持锁定状态,不允许我输入新记录 我的问题 - 我要进行哪些设置必须设置才能将新记录添加到我的表单中,但在添加后 - 某些记录应该是不可编辑的。是否可以?谢谢!

标签: ms-access edit custom-fields records


【解决方案1】:

在表单级别定义 On Current 事件。 喜欢

Private Sub Form_Current()

If Me.NewRecord Then
Me.txtField1.Enabled = True
Me.txtField2.Enabled = True

Else
Me.txtField1.Enabled = False
Me.txtField2.Enabled = False

End If

End Sub

将 txtField1 和 txtField2 替换为表单字段的名称。

【讨论】:

    【解决方案2】:

    如果您希望能够添加新记录并保持某些表单字段锁定,您必须在数据选项卡上仅为这些字段设置 Locked 属性。您可以在设计模式下执行此操作,也可以在表单加载时通过 VBA 代码执行此操作。

    有关示例,请参阅 https://access-programmers.co.uk/forums/showthread.php?t=180359

    【讨论】:

      【解决方案3】:

      您的最后一条评论更好地解释了一些事情,我相信您所追求的是可能的(假设我的想法是正确的)。有很多方法可以按照你的建议去做,但是如果没有更多的细节,指导你就会变得更加困难。话虽如此,您在此问题中寻找的术语类似于“当当前记录不是新记录时锁定字段”。

      这可能会部分解决您的问题,您可能可以从那里解决:

      在表单本身中,转到Property Sheet 并选择Data。在Data Tab 内将Allow Edits 更改为No

      这将只允许通过您的表单将新记录添加到您的表格中,这似乎是您的最终目标。

      (当然,您需要删除仍然保留的文本框上的所有锁定才能添加任何新记录)

      【讨论】:

        猜你喜欢
        • 2016-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-20
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多