我有一个带有ComboBox和按钮的表单。单击该按钮时,它的事件应该在继续之前检查ComboBox是否有值。 ComboBox具有默认值集:
SELECT name
FROM table
ORDER BY name;
这就是我的尝试:
Private Sub btnOk_Click()
If (CmbName.ListIndex = -1)Then
Exit Sub
End If
'Do Something
End Sub
但是每次单击按钮时,cmbName.ListIndex
都会等于-1,即使存在默认值,也会退出该子。
答案 0 :(得分:1)
不确定我是否误解了某些事情;你可以使用IsNull()
函数。
如果用户已将值更改为默认值,则返回空值,然后返回True
。
Private Sub btnOk_Click()
If IsNull(CmbName.Value) Then
Exit Sub
End If
'Do Something
End Sub
答案 1 :(得分:0)
ListIndex是ComboBox的一个属性。它返回列表中所选值的索引。例如:如果选择了第一个值,comboBox.listIndex = 0
。如果没有值,则为comboBox.listIndex = -1
。
如果用户未从列表中选择值,则该值为默认值“joe”。
如果查询SELECT name
FROM table
ORDER BY name
返回没有值“joe”的列表,则listIdex仍为-1。
尝试:
If (CmbName.ListIndex = -1) And (Trim(CmbName.Value & "") = "")
如果未选择任何值并且该框为空,则返回true。