Lotusscript IF声明

时间:2014-08-22 12:29:12

标签: lotusscript

我试图一次循环多个字段以检查它们是否与某个值匹配。例如,文档包含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"

2 个答案:

答案 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