我有以下代码,我试图检查组合框以确保它们不为空
我有一个核心组合框--cmbHierarchy - 与商店,零售商,地区,区和二级组合框架选择商店,零售商,地区,地区(每个一个)
我希望VBA检查cmbHierarchy以确保它已填充,然后根据其填充的内容,确保它的相应组合框具有选定的值。
当前代码正在检查以确保填充所有5个。我需要的是cmbHierarchy = store然后检查cmbStore,如果cmbHierarchy = retailer然后检查零售商,依此类推。
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
非常感谢任何帮助。 谢谢!
答案 0 :(得分:0)
由于您的控件名称很方便,您可以执行以下操作:
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 if
IsNull而不是Nz也许没问题,但我总是习惯于把价值放在安全的地方。