【问题标题】:Hide/unhide combobox based on a text box基于文本框隐藏/取消隐藏组合框
【发布时间】:2020-10-26 14:46:02
【问题描述】:

我有一个以这种方式工作的表单:

用户选择产品的 ID VBA 代码在数据库中搜索并在表单中填写一些文本框。 例如: 用户选择 ID 1 文本框1填充:水果

我的问题是,我有一个组合框,其中包含“香蕉”、“苹果”或“葡萄”等选项。这个组合框在表单中是可见的,但我希望它是不可见的,并且仅在文本框 1 填充有“水果”时才会出现。

在设计视图中,我将组合框的可见性设置为“否”,因此它不再出现在表单中。然后,我写了这段代码:

Private Sub textbox1_AfterUpdate()
  If Me.textbox1 = "fruit" Then
      Me.LabelOfTheCombobox.Visible = True
      Me.Combobox.Visible = True
  Else
      Me.LabelOfTheCombobox.Visible = False
      Me.Combobox.Visible = False
  End if
End Sub
    

但它不起作用,当文本框充满“水果”时,组合框仍然不可见。 你能帮我修复这个代码吗?

【问题讨论】:

  • 属性设置将应用于文本框的所有实例。因此,这不适用于连续或数据表形式。在这种情况下,最好的办法是使用条件格式启用/禁用。否则,看不出代码有什么问题。
  • textbox1 之后哪个控件获得焦点?

标签: ms-access combobox ms-access-forms


【解决方案1】:

一切看起来都不错。根据您所说,将“水果”放入文本框中不会导致组合框显示,那么我的猜测是如果测试失败。也许您可以在比较之前尝试修剪文本框的两侧。您还应该注意这种情况。尝试将文本框的大小写强制为小写以匹配字符串常量。

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2017-05-20
    • 2011-03-18
    • 1970-01-01
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 2017-12-11
    相关资源
    最近更新 更多