0

我想在包含数字 1-10 的 Access 表单上创建一个组合框(组合框 B)。换句话说,下拉菜单按顺序显示数字 1-10。

但是,下拉菜单中显示的内容取决于组合框 A。

  • 如果x显示在组合框 A 中,则项目1-10应显示在组合框 B 中。
  • 如果y显示在组合框 A 中,则数字1-5应仅显示在组合框 B 中,或至少阻止某人选择6或更大。
  • 如果z显示在组合框 A 中,则在组合框 B 中不应选择任何内容。

我的编码技能已经生疏了,因为我已经 10 多年没有做过太多事情了。这在 Access 中很容易实现吗,还是我需要一些 VBA 来帮助?

4

1 回答 1

0

假设您的问题不仅仅是一个人为的示例,并且您确实想在组合框中显示整数1-101-5那么以最简单的形式,您可以使用以下函数对After Update组合框“A”和您的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
于 2019-07-02T18:59:37.747 回答