MS Access 找不到 youe 表达式中提到的字段组合框



我正在尝试编写一段快速的 VBA 代码,该代码将检查特定范围内的 2 个组合框值是否匹配,如果它们匹配,则应返回错误消息。

我发现我的代码在cboOption1.Column(0)cboOption1.Column(0)进行比较时失败了。所以我在额外的行中添加了And Not Me.Controls("cboOption" & i) = Not Me.Controls("cboOption" & k)以抵消组合框对自己所做的任何比较。但是现在我收到错误消息,MS Access无法在此行找到我的表达式中提到的字段组合框。知道出了什么问题吗?

Dim myArray As Variant
Dim x As Integer
myArray = Array(cboOption1.Column(0), cboOption2.Column(0), cboOption3.Column(0), cboOption4.Column(0))
For x = LBound(myArray) To UBound(myArray)
    For i = 1 To 4
        For j = 1 To 4
            If Me.Controls("cboOption" & i).Column(0) = myArray(x) _
                    And Me.Controls("cboOption" & j).Column(0) = myArray(x) _
                    And Not Me.Controls("cboOption" & i) = Not Me.Controls("cboOption" & k) Then
                 MsgBox "You cannot select " & myArray(x) & " twice."
                 Exit Sub
            End If
        Next
    Next
Next x

如果在进行值比较之前i = j,那么基本的 chek 怎么样?

Dim myArray As Variant
Dim x As Integer
myArray = Array(cboOption1.Column(0), cboOption2.Column(0), cboOption3.Column(0), cboOption4.Column(0))
For x = LBound(myArray) To UBound(myArray)
    For i = 1 To 4
        For j = 1 To 4
            If i <> j Then
                If Me.Controls("cboOption" & i).Column(0) = myArray(x) _
                   And Me.Controls("cboOption" & j).Column(0) = myArray(x) Then
                    MsgBox "You cannot select " & myArray(x) & " twice."
                    Exit Sub
                End If
            End If
        Next
    Next
Next x

最新更新