我想在包含数字1-10的Access窗体上创建一个组合框(组合框B)。换句话说,下拉列表顺序显示数字1-10。
但是,下拉列表中显示的内容取决于组合框A。
x
显示在组合框A中,则项目1-10
应该显示在组合框B中。y
显示在组合框A中,则数字1-5
仅应显示在组合框B中,或至少阻止某人选择6
或更大的数字。 z
,则在组合框B中应该没有任何选择。我的编码技能令人生疏,因为我10多年没有做太多事情。是否可以在Access中轻松实现此功能,还是需要一些VBA协助?
答案 0 :(得分:0)
假设您的问题不只是一个虚构的示例,并且您真的想在组合框中显示整数1-10
和1-5
,那么以最简单的形式,您可以使用以下命令函数在组合框“ A”的After Update
事件和表单的On Load
事件中评估:
Function UpdateComboRowSource(cmbCom As ComboBox, ByVal strVal As String)
cmbCom.RowSourceType = "Value List"
Select Case LCase(strVal)
Case "x": cmbCom.RowSource = "1;2;3;4;5;6;7;8;9;10"
Case "y": cmbCom.RowSource = "1;2;3;4;5"
Case Else: cmbCom.RowSource = ""
End Select
End Function
Private Sub Form_Load()
UpdateComboRowSource ComboB, ComboA.Value
End Sub
Private Sub ComboA_AfterUpdate()
UpdateComboRowSource ComboB, ComboA.Value
End Sub