【问题标题】:Can data entry to one field be made dependent on entered data of another field in the same table in MS Access?是否可以根据 MS Access 同一张表中另一字段的输入数据对一个字段进行数据输入?
【发布时间】:2021-11-30 07:33:48
【问题描述】:

我设计了一个表,其中包含 ID、Impact、Impact_if_Other 字段。 Impact 被设计为 Form 中的一个下拉框。只有当用户从 Impact 下拉列表中选择“Other”时,我才希望 Impact_if_Other 字段在表单中可编辑。这在表单设计中如何实现?

谢谢!!

【问题讨论】:

  • 可以使用条件格式根据 Impact 的值启用/禁用 Impact_if_Other 文本框。但是,如果用户将 Impact 从 Other 更改为其他内容,则需要代码(宏或 VBA)从 Impact_if_Other 中删除值(如果有)。

标签: ms-access


【解决方案1】:

您可以尝试以下VBA 代码。将以下代码写入 ComboBox Impact After_Update 事件。

IF Me.Impact="Other" Then
   Me.ImpactOther.Locked=False
   'Me.ImpactOther.Enabled=False
ELSE
   Me.ImpactOther.Locked=True
   'Me.ImpactOther.Enabled=True
END IF

【讨论】:

  • 亲爱的 Harun24HR,这很好用,谢谢!但是,即使我没有从 Impact 下拉/组合框中选择任何内容,它也可以让我将数据输入 Impact_if_Other。我们也可以解决这个问题吗?我很抱歉,因为我是 Access 和 VBA 的新手!
  • 要么使用有问题的评论中建议的条件格式,要么在当前事件中使用代码。代码简化为一行:Me.ImpactOther.Enabled = Me.Impact = "Other"
  • 您还必须在 OnCurrent 事件中调用此代码。
  • @vgb17 默认情况下,您可以锁定/启用ImpactOther 文本框。从数据选项卡下的属性表中,您可以将锁定/启用设置为False。正如@Gustav 建议的那样,您可以编写这些代码来形成On Current 事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
  • 2018-01-17
  • 1970-01-01
  • 2017-11-16
  • 2019-08-02
相关资源
最近更新 更多