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  

我可以通过将复选框交换为表单上的组合框并将“vbChecked”替换为 True 来简单地将 chkboxOne 更改为“cboboxOne”吗?我不确定它们的功能在语法上有多相似。

谢谢

4

1 回答 1

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
于 2012-05-23T16:30:11.993 回答