【问题标题】:ms access: how to display the invisible object in form when load the form?ms访问:加载表单时如何在表单中显示不可见的对象?
【发布时间】:2015-11-28 23:17:24
【问题描述】:

目前我已将 CAS_No2、CAS_No3、CAS_No5 和 CAS_No6 设置为在属性表中不可见。一旦用户选择“混合”或“母料”,它将可见。

它确实有效。但是,当我关闭表单并重新打开它时,CAS_No2、CAS_No3、CAS_No5 和 CAS_No6 不会出现。我已经在“Form_Load()”和“Form_Current()”下添加了这个代码,但它仍然没有出现,即使它有价值。只有当我单击返回类型组合框并选择“混合”或“主批次”时,它才会出现。

我希望数据在 Type 的默认数据为“Blend”或“Master Batch”时出现。

Private Sub Type_Click()
If Me.Type.Value = "Blend" Or Me.Type.Value = "Master Batch" Then
    Me.CAS_No2.Visible = True
    Me.CAS_No3.Visible = True
    Me.Dosage5.Visible = True
    Me.Dosage6.Visible = True
Else
    Me.CAS_No2.Visible = False
    Me.CAS_No3.Visible = False
    Me.Dosage5.Visible = False
    Me.Dosage6.Visible = False
End If
End Sub   

【问题讨论】:

  • 尝试检查表单重新打开时是否触发了 form_load 或 form_current 事件。另外,试着把代码放到form_activate中看看是否有效。
  • Me.Type 是什么类型的控件?
  • @MattHall 它是组合框
  • @Harsh 没有。当我将代码放在 form_current 或 form_load 下时,它没有显示任何操作

标签: ms-access vba


【解决方案1】:

问题。 Me.Type 是否绑定到数据库?在当前事件之前它不会有正确的值,因此您需要表单上当前事件中的代码。如果它没有绑定到数据库,我仍然会将代码放在 Current 上。 Me.Type 的默认值是多少?

您还需要在 Type 的“更改”事件中使用它(假设它是一个组合框)。将它放在点击事件上将读取旧值,然后再更改它。这是因为您通常先单击组合框,然后再选择一个新值

【讨论】:

  • 是的。 'Me.Type' 绑定到数据库。我没有为“Me.Type”设置任何默认值。我应该输入默认值吗?不放默认值会不会影响数据?
  • 如果它绑定到数据库,那么它不应该需要一个默认值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-01
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
相关资源
最近更新 更多