使用 Combobox 控制表单
Posted
技术标签:
【中文标题】使用 Combobox 控制表单【英文标题】:Controlling form with Combobox 【发布时间】:2015-06-03 19:09:08 【问题描述】:我有一个表单,表单标题中有一个组合框,用于填充表单中的值。我可以在组合框中选择不同的值来引用我的表中的观察值,并且表单将进行过滤,以便我拥有表中的所有数据,用于我在表单的组合框中选择的观察值。
它工作正常,但是当我打开表格时,表格中的第一行填充了表格,即使组合框是空白的。如何设置表单,以便当标题中的组合框为空白时,表单为空白,并且仅在我填充组合框时才会填充表单?
谢谢
【问题讨论】:
听上去你只是根据所选的组合框选项更改记录。但是,当您打开表单时,它会自动查看第一条记录。不完全确定这是否可以轻松更改,但也许不是与之抗争,而是让组合框反映观察的正确名称? 【参考方案1】:您可以将子表单 Record Source 留空,然后在组合框 AfterUpdate()
事件中,更改子表单 Record Source 和 Requery 子表单。
这可能有点草率,因为表单请求因其不可靠性而臭名昭著。我过去所做的是将子表单设置为PopUp 并在组合框的AfterUpdate()
中或单击按钮,修改记录源并打开所需的子表单。
【讨论】:
【参考方案2】:正如我在评论中提到的,我认为您尝试执行的操作可能会相当烦人。但是,如果您只是添加这样的内容:
Private Sub Form_Load()
Me.Combobox1.Value = Nz(Me.ObservationName,"")
End Sub
它只会使组合框反映您正在查看的观察的正确名称。 ObservationName
正是我假设您在组合框中使用的字段名称,Combobox1
将被替换为组合框的名称。
【讨论】:
以上是关于使用 Combobox 控制表单的主要内容,如果未能解决你的问题,请参考以下文章
使用 ComboBox、UserControl 和一些表单来更改语言(针对整个项目)