2012-05-23 72 views
2

我想檢查下拉列表中的值。該列表已預先配置爲保存是或否。檢查下拉列表中的值

目前,我使用的是複選框,看起來像這樣:

If chkboxOne.Value = vbChecked And (LenB(txtDetailsRefNo.Text) = 0) Then 
    If vblnShowErrors Then Err.Raise 10000, VALIDATION, "A Default Reference Number must be entered." 
    blnDataFail = True 
    End If 

我可以簡單地通過交換複選框窗體上的組合框,並替換更改chkboxOne爲「cboboxOne」「 vbChecked「與真?我不確定它們的功能在語法上有多相似。

感謝

回答

3

要獲得一個組合框,你可以檢查listindex看到什麼選擇的項目(有沒有value屬性)

cboboxOne.AddItem "yes" '//listindex is 0 
cboboxOne.AddItem "no"  '//listindex is 1 
cboboxOne.AddItem "maybe"  '//listindex is 2 

... 
if (cboboxOne.ListIndex = 0) Then '// yes selected 

您還可以檢查所選文本:

if (cboboxOne.List(cboboxOne.ListIndex) = "yes") Then '// yes selected 

您還可以使用ItemData

對照自定義整數進行測試
cboboxOne.AddItem "yes" 
cboboxOne.ItemData(cboboxOne.NewIndex) = 42 
cboboxOne.AddItem "no" 
cboboxOne.ItemData(cboboxOne.NewIndex) = &HBEEF 

... 
if (cboboxOne.ItemData(cboboxOne.ListIndex) = 42) Then '// yes selected 
+0

真棒,做詭計了!謝謝。 :) – GrumP

+1

確保在最後兩個之前實際選擇了某些內容,如果它是空的,則'ListIndex'將爲-1,'.ItemData()'和'.List()'將失敗。 – Deanna