基于文本框隐藏/取消隐藏组合框
Posted
技术标签:
【中文标题】基于文本框隐藏/取消隐藏组合框【英文标题】: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 之后哪个控件获得焦点? 【参考方案1】:一切看起来都不错。根据您所说,将“水果”放入文本框中不会导致组合框显示,那么我的猜测是如果测试失败。也许您可以在比较之前尝试修剪文本框的两侧。您还应该注意这种情况。尝试将文本框的大小写强制为小写以匹配字符串常量。
【讨论】:
以上是关于基于文本框隐藏/取消隐藏组合框的主要内容,如果未能解决你的问题,请参考以下文章