我正在编写一个可以与我的数据库(查询)进行比较的数组。我可以知道如何制作它以便它可以在我的数组中包含“或”逻辑吗?因为我想得到像 Filter = myArray(0) 或 myArray(1) 或 myArray(2) 这样的输出......因为我没有数组的数量,因为它取决于用户输入的数量类型,所以我只有一个 myArray(x)。谢谢你。
Private Sub TestButton_Click()
Dim myArray As Variant
Dim Status_Input As Variant
Dim x As Variant
Dim i As Variant
Dim Status_Filter As Variant
Status_Input = Forms![try2].StatusInput
myArray = Split(Status_Input, ";")
For x = LBound(myArray) To UBound(myArray)
MsgBox " " & myArray(x) & " " 'MsgBox = 03 20 27 (3 MsgBoxes)
Status_Filter = _
"[Status] Like " & myArray(x)
Debug.Print Status_Filter
Me.Filter = Status_Filter
Me.FilterOn = True
Next x
结束子
您可以将过滤器附加到彼此,用OR
. 另外,我建议您Like
仅在需要使用通配符时使用。
如果不使用Like
,则可以使用[Status] IN(1, 2, 3)
代替来优化代码[Status] Like 1 OR [Status] Like 2 OR [Status] Like 3
。
Status_Filter = "[Status] Like " & myArray(LBound(myArray)) 'Note: fails if myArray is empty
For x = LBound(myArray) + 1 To UBound(myArray)
Status_Filter = Status_Filter & " OR [Status] Like " & myArray(x)
Next x
Me.Filter = Status_Filter
Me.FilterOn = True
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句