带有字符串的复选框数组

问题描述 投票:0回答:1

我需要有关如何使用复选框数组的帮助,如果选中了复选框,则值为:

check1(0) = OK ,check1(1) = X,check1(2) = [X],check1(3) = NP
a=iif(check1(0).Value = vbchecked,"OK")

正在获取错误:

"Error sub or function not defined"
vb6
1个回答
0
投票

我不确定您提供的代码行将如何产生错误sub or function not defined。相反,您应该已经收到错误Argument not optional。该行的语法应如下所示:

a = IIf(Check1(0).Value = vbChecked, "OK", "")

如果我了解您的要求,您可以这样使用IIf

a = IIf(Check1(0).Value = vbChecked, "OK", IIf(Check1(1).Value = vbChecked, "X", IIf(Check1(2).Value = vbChecked, "[X]", IIf(Check1(3).Value = vbChecked, "NP", ""))))

但是,我不推荐这种方法。相反,我将像这样构造代码:

If Check1(0).Value = vbChecked Then
   a = "OK"
ElseIf Check1(1).Value = vbChecked Then
   a = "X"
ElseIf Check1(2).Value = vbChecked Then
   a = "[X]"
ElseIf Check1(3).Value = vbChecked Then
   a = "NP"
Else
   a = ""
End If

是的,还有更多代码,但是代码更易于阅读和维护。

© www.soinside.com 2019 - 2024. All rights reserved.