Link to home
Start Free TrialLog in
Avatar of mvm835
mvm835

asked on

If..Then..Else Statements - Multiple statements

I need to "enhance" the evaluation method used in setting the end result of a field.  The following script evaluates the rich text field to determine if there is an attachment (see below).  If there is an attachment, the status is changed to Status = "6 - Appraisal Completed" (and Statusflag5 = "1"); if the attachment is not found the Status = "5 - Management Review" (and Statusflag5 = "0").  

I need to keep the functionality already in place, plus add the following evaluation:

If field "Level" equals "Review" change Status to "5 - Management Review)(and Statusflag5 = "0").  
 
This step needs to be added to the current evaluation process that's already in the script.  (After the field "Level"is evaluated, the attachment field needs to be evaluated (same as current).





Function ValidateAppraisal_Report (Field As String) As Variant
    'Validation to find if there is atleast one attachment in this document
     Dim ws As New NotesUIWorkspace
     Dim uidoc As NotesUIDOcument
     Dim note As NotesDocument
     Dim rt As NotesRichTextItem
     
     Set uidoc = ws.CurrentDocument
     Set note = uidoc.Document
     AttachmentFound = False
     Call uidoc.Refresh(True)
     Set rt = note.GetFirstItem( Field )
    ' Check for attachments in the richtext item
     emobjs = rt.EmbeddedObjects
     If Isarray(emobjs) Then
          Forall emobj In emobjs
               If (emobj.Type=EMBED_ATTACHMENT) Then
                    AttachmentFound = True
               End If
          End Forall
     End If    
' Set the flags
     If AttachmentFound Then
          note.Status = "6 - Appraisal Completed"
          note.Statusflag5 = "1"
     Else
          note.Status = "5 - Management Review"
          note.Statusflag5 = "0"      
     End If
     Print "Attacment Found: " & AttachmentFound
     ValidateAppraisal_Report = AttachmentFound
End Function
Avatar of Gunsen
Gunsen

Change the if statement (set the flags) to :
If AttachmentFound Or (note.Level(0) Like "Review") Then
ASKER CERTIFIED SOLUTION
Avatar of zvonko
zvonko

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I wherent able to repost my correction, but here it is zvonko :-)
If AttachmentFound And Not(note.Level(0) Like "Review") Then
Do you know that Like operator is used for Regular Expressions?



OptionCompare Text?
You mean instead of "=" in LotusScript, no i didnt.
But syntatical it get more explicit reading using Like...
That's the point: Like do not compare Text, it compare text against a pattern.

You use an exception that your pattern is the text itself, but be aware of special characters when used in pattern string.

I thought it compared using Text (upper/lower/wild) comparison, provided using the option compare text..?
As long as you do not use this chars: ?*#[]!
you get your readability by driving huge machine for simple compare.
Read here more:
http://doc.notes.net/domino_notes/5.0.3/help5_designer.nsf/078c27b23262ffff852566dd0029426a/4ade97d29a4ea80b8525687e0058971b?OpenDocument&AutoFramed