我试图一次循环多个字段以检查它们是否与某个值匹配。例如,文档包含field_1,field_2,field_3等。它们的值为"是"或"否"。
声明如下:
IF field_1 OR field_2 OR field_3 = "Yes"
我不是要测试所有字段是否=是。应该独立检查它们。
如果它不太难,我还想创建一个IF语句来匹配2组字段。
例:
IF field_1 OR field_2 OR field_3 = "YES" AND other_1 OR other_2 OR other_3 = "NO"
答案 0 :(得分:0)
假设您的字段包含单值字符串值,那么这将起作用(使用点表示法语法):
If (doc.field_1(0) = "Yes" Or doc.field_2(0) = "Yes" Or doc.field_3(0) = "Yes") And (doc.other_1(0) = "NO" Or doc.other_1(0) = "NO" Or doc.other_1(0) = "NO") Then
' Do stuff
End If
这假设doc变量包含对相关文档的引用。
您还可以使用doc.getItemvalueString("field name")
来访问字段值,而不是点语法。
答案 1 :(得分:0)
您可以创建一些功能并在If
声明中使用它
例如:
Function CheckFields(doc As NotesDocument, fields As String, value As String) As Boolean
Dim fieldsArray As Variant
fieldsArray = Split(fields$, ":")
Forall field In fieldsArray
If doc.GetItemValue(field)(0) = value Then
CheckFields = True
Exit Function
End If
End Forall
CheckFields = False
End Function
使用上述功能:
If CheckFields(doc, "field_1:field_2:field_3", "YES") And CheckFields(doc, "other_1:other_2:other_3", "NO") Then
'Your code
End If