2016-07-26 129 views
0

我已经创建了一个用户窗体,其中需要一些字段。他们的名字以“R”结尾,以便识别。但是,我无法弄清楚如何计算由布尔字段标记的空白字段的数量。如果“真”标志的数量大于0,我想显示一条错误消息。计数布尔运算符

For Each ctl In NewAsset.Controls 
If Right(ctl.Name, 1) = "R" Then 
    If ctl.Value = "" Then 
     flag = True 
    End If 

    If ctl.Value <> "" Then 
     flag = False 
    End If 
End If 
Next 
+0

你并不需要统计trues的数量。如果有任何ctl.Value =“”则抛出一个消息框并退出子。一旦空白,你可以完成检查。 – sous2817

+0

@ sous2817 - 这是糟糕的用户体验 - 从用户的角度来看,同时知道所有的验证错误要容易得多。 – Comintern

+0

@Comintern当然,但不是让用户提交表单直到必填字段完成为止更好吗?许多方法来剥皮这只猫,我只给了一个选择。 – sous2817

回答

0
Dim n As Long 
For Each ctl In NewAsset.Controls 
    If Right(ctl.Name, 1) = "R" And ctl.Value = "" Then 
     n = n + 1 
    End If 
Next 
If n > 0 Then MsgBox n & " required fields are not filled!" 
+0

我用另一个如果然后而不是和声明,然后它完美的工作!谢谢! – EmsBish