我想知道创建一个组合框的最佳方法,该组合框链接到另一个组合框的选择。例如,在组合框1中选择' fruits',组合框2中的选项是芒果,橙和猕猴桃。当用户在组合框1中选择蔬菜' ,在2号组合框中,选项是胡萝卜,朝鲜蓟和番茄。两个组合框都应链接到名为Produce的同一个表。
我无法构建查询以支持第一个组合框,但不了解如何将所选内容链接到支持组合框2的查询。
答案 0 :(得分:1)
有多种方法可以做到这一点,但最简单的方法和我主要使用的方法是在Row Source
事件(或Change
时为Combobox2设置不同的AfterUpdate
,根据您的需要,Combobox1被解雇了。
示例:强>
我有两张桌子
Animals
1 Dog
2 Cat
3 Mouse
4 Rabbit
Cars
1 Audi
2 BMW
3 Ferrari
4 Porsche
5 McLaren
在表格上我有两个组合框,第二个是基于第一个选择,它只包含两个选项:动物,汽车。
示例代码:
Private Sub Combo1_Change()
Dim cmb1 As ComboBox: Set cmb1 = Me.Combo1
Dim cmb2 As ComboBox: Set cmb2 = Me.Combo2
Select Case cmb1.Value
Case "Animals"
cmb2.RowSource = "Animals" ' Table name Animals
Case "Cars"
cmb2.RowSource = "SELECT TOP 3 * FROM Cars" ' SQL command to table Cars
Case Else
cmb2.RowSource = "Animals"
End Select
End Sub
现在,每次Combo1中的值发生变化时,Combo2的行源也会发生变化。
注意:您需要根据表单加载时Combo1中的值设置Combo2的默认行源,因此Combo2在启动时不为空。