【问题标题】:Enabling field visibility from combo box selection in Access 2007从 Access 2007 中的组合框选择中启用字段可见性
【发布时间】:2010-10-01 19:52:14
【问题描述】:

我在 Microsoft Access 2007 中有一个名为 System 的表单,并在此表单中有一个名为 Utility 的组合框。下面是另一个名为 Utility_FOO 的组合框,我默认禁用了它的可见性。实用程序中的选项之一是标有“FOO”的复选框。我希望 Utility_FOO 在选择 FOO 时可见。

我尝试在 Visual Basic 中创建一个子例程,每次从列表中选择一个项目时检查是否选择了 FOO(使用 onUpdate),但我不知道如何检查该特定条目。有没有简单的方法可以做到这一点?

谢谢!

【问题讨论】:

  • 这是一个多选组合框吗?
  • 我不太确定;我对 Access 很陌生。当我按下箭头查看可用选项时,每个选项旁边都有一个复选框,我可以选中任何我喜欢的选项。
  • 听起来你希望这发生在你的控件的更新后。此外,如果其中有复选框,听起来它是一个多值字段,而不是标准的组合框或列表框。以编程方式找出这些值是另一回事。设计视图中表单的屏幕截图可能会有所帮助。

标签: ms-access combobox vba onupdate


【解决方案1】:

如果您的组合框绑定到多值字段,请检查其 .Value 属性以确定 FOO 是否在选定(选中)项中。

Private Sub Utility_AfterUpdate()
    Call SetVisible
End Sub

Private Sub SetVisible()
    Dim varItm As Variant
    Dim blnVisible as Boolean

    blnVisible = False
    If Not IsNull(Me.Utility.Value) Then
        For Each varItm In Me.Utility.Value
            If varItm = "FOO" Then
                blnVisible = True
                Exit For
            End If
        Next varItm
    End If
    Me.Utility_FOO.Visible = blnVisible
End Sub

您可能还想对表单的 On Current 事件执行相同的操作。如果是这样,请添加:

Private Sub Form_Current()
    Call SetVisible
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多