在下面的代码中,我试图检查组合框,以确保它们不是空的
我有一个核心的组合框- cmbHierarchy -与商店,零售商,地区,地区和二级组合框选择商店,零售商,地区,地区(一个)
我希望VBA检查cmbHierarchy以确保它已被填充,然后根据填充的内容,确保它对应的combobox有一个被选中的值。
当前的代码正在检查,以确保所有5都已填充。我需要的是如果cmbHierarchy = store然后检查cmbStore,如果cmbHierarchy =零售商然后检查零售商,等等。
Private Sub btnQryTermCount_Click()
Dim strQueryName As String
If Me.cmbHierarchy.Value = Store Or IsNull(Me.cmbStore.Value) Then
MsgBox "Please choose a Store"
Me.cmbStore.SetFocus
ElseIf Me.cmbHierarchy.Value = Retailer Or IsNull(Me.cmbRetailer.Value) Then
MsgBox "Please choose a Retailer"
Me.cmbRetailer.SetFocus
Else: strQueryName = "TERM_Count_" & Me.cmbHierarchy
MsgBox "Query Ready: " & strQueryName
DoCmd.OpenQuery strQueryName
End If
End Sub任何帮助都将不胜感激。谢谢!
发布于 2014-06-06 02:00:13
由于控件的命名非常方便,所以可以这样做:
If Nz(Me.cmbHierarchy.Value, "") <> "" Then
If Nz(Me.Controls("cmb" & Me.cmbHierarchy.Value).Value) = "" Then
MsgBox "Please choose a " & Me.cmbHierarchy.Value & "."
Else
strQueryName = "TERM_Count_" & Me.cmbHierarchy.Value
MsgBox "Query Ready: " & strQueryName
DoCmd.OpenQuery strQueryName
End If
Else
'cmbHierarchy validation failed logic here.
End ifIsNull而不是Nz也许不错,但我总是习惯于为安全而铸造价值。
https://stackoverflow.com/questions/24072836
复制相似问题