我遇到以下问题: 我正在尝试使用快捷菜单栏(右键单击后显示)作为过滤现有查询的工具。查询在表单中具有基于文本框的条件,快捷菜单栏应允许输入单词,将其传递到文本框并实现过滤。窗体的弹出窗口属性设置为“是”后,一切都将正常工作。 Poblem以常规形式开始(弹出属性设置为“ no”)。 在这种情况下,快捷菜单栏仅显示控制按钮(msoControlButton),而没有显示编辑框(msoControlEdit)或组合框(msoControlComboBox)。
有人知道如何解决此问题吗?我数据库中的所有其他表单都是非弹出式表单,而其他视觉属性中的一种表单看起来笨拙。
编辑: 这是命令栏的代码:
Dim cmb As CommandBar
Dim CBB_nr1 As CommandBarButton
menu_name = "Menu"
CommandBars(menu_name).Delete
Set cmb = CommandBars.Add(menu_name, msoBarPopup, False, False)
With cmb
Set CBB_nr1 = .Controls.Add(msoControlEdit, , , , True)
With CBB_nr1
.BeginGroup = True
.Caption = "Search:"
.OnAction = "=Search()"
End With
End With`
以下是将值传递到文本框的代码(放置在Function Search()中):
Forms("Form_name").Textbox_name = Nz(CommandBars("Menu").Controls("Search:").Text, "*")
主要问题是,如果窗体不在弹出模式下,则“文本框和组合框”行不会显示在创建的命令栏中。