ภาคผนวก
โลตัสสคริปต์ ในฟอร์มเอกสารเสนอความคิดเห็น (Response, Response to response)
ส่วนนับมติความคิดเห็น อยู่ในส่วน Querysave
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim item As NotesItem
Dim workspace As New notesuiworkspace
Dim uidoc As notesuidocument
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As Notesdocument
Set uidoc = workspace.currentdocument
choise$ = uidoc.Fieldgettext("opinion2")
'***********************
ID$ = "Z"+uidoc.Fieldgettext("id1")
Set db = Session.CurrentDatabase
Set dc = db.FTSearch(ID$, 0,FT_SCORES,FT_STEMS)
Set doc = dc.getnthdocument(1)
Dim itemyes,itemno As notesitem
Set itemyes = doc.getfirstitem("Agree")
temp = Cint(itemyes.text) + 1
yes$ = Cstr(temp)
Set itemno = doc.getfirstitem("NoAgree")
temp = Cint(itemno.text) + 1
no$ = Cstr(temp)
If choise$="เห็นด้วย" Then
Set item = doc.ReplaceItemValue ( "Agree", yes$ )
End If
If choise$="ไม่เห็นด้วย" Then
Set item = doc.ReplaceItemValue ( "NoAgree", no$ )
End If
Call doc.Save( False, False )
End Sub
โลตัสสคริปต์ ในฟอร์มหัวข้อการประชุมทั้งหมด (ListTopic)
ส่วนปุ่ม Do ใน Click Even
Sub Click(Source As Button)
REM เซตค่าต่างๆ
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim itimes As String
Dim iyear As String
Dim test1 As String
Dim test2 As String
Dim subj As String
Newline = Chr(13) + Chr(10)
REM อ่านค่าจาก field "intimes", "inyear"
Set uidoc = ws.CurrentDocument
Call uidoc.refresh
Call uidoc.FieldSetText ( "list", "")
itimes = uidoc.FieldGetText("intimes")
iyear = uidoc.FieldGetText("inyear")
REM check ค่าของ field "intimes","inyear"
If (itimes="") Or (iyear="") Then
If (itimes="") And (iyear="") Then
Messagebox "กรุณาใส่ข้อมูลให้ครบถ้วน"
Call uidoc.GotoField( "intimes" )
Continue = False
End If
If (itimes="") And (iyear<>"") Then
Messagebox "กรุณาใส่ลำดับการประชุม"
Call uidoc.GotoField( "intimes" )
Continue = False
End If
If (iyear="") And (itimes<>"") Then
Messagebox "กรุณาใส่ลำดับปีของการประชุม"
Call uidoc.GotoField( "inyear" )
Continue = False
End If
End If
REM อ่านค่าจาก view "By topic"
Set db = session.CurrentDatabase
Set view = db.GetView("By Topic")
Set doc = view.GetFirstDocument
While Not(doc Is Nothing)
test1 = doc.ColumnValues(2)
test2 = doc.ColumnValues(3)
If (test1=itimes) And (test2=iyear) Then
subj = doc.ColumnValues(4)
Call uidoc.FieldAppendText("list"," --> " & subj & Newline)
End If
Set doc = view.GetNextDocument(doc)
Wend
End Sub
โลตัสสคริปต์ ในฟอร์มข้อเสนอของหัวข้อการประชุม (List of detail)
ส่วนปุ่ม Do ใน Click Even
Sub Click(Source As Button)
REM เซตค่าต่างๆ
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim collection As NotesDocumentCollection
Dim doc2 As NotesDocument
Dim item As NotesItem
Dim itimes As String
Dim iyear As String
Dim isubj As String
Dim test1 As String
Dim test2 As String
Dim searchFormula As String
Dim rtitem As Variant
Dim plainText As String
Newline = Chr(13) + Chr(10)
REM อ่านค่าจาก field "intimes", "inyear" ,"subject"
Set uidoc = ws.CurrentDocument
Call uidoc.refresh
Call uidoc.FieldSetText ( "list", "")
isubj = uidoc.FieldGetText( "subject2" )
itimes = uidoc.FieldGetText("intimes")
iyear = uidoc.FieldGetText("inyear")
If isubj="" Then
Messagebox "กรุณาเลือกหัวข้อที่คุณต้องการ"
Call uidoc.GotoField( "subject" )
Continue = False
End If
REM อ่านค่าจาก view "By topic"
Set db = session.CurrentDatabase
Set view = db.GetView("By Topic")
Set doc = view.GetFirstDocument
While Not(doc Is Nothing)
test1 = doc.ColumnValues(2)
test2 = doc.ColumnValues(3)
If (test1 <> itimes) Or (test2 <> iyear) Then
If isubj=doc.ColumnValues(4) Then
Messagebox "กรุณาเลือกหัวข้อที่อยู่ในการประชุมครั้งที่คุณกำหนด"
Call uidoc.GotoField( "subject" )
Continue = False
End If
End If
Set doc = view.GetNextDocument(doc)
Wend
REM อ่านค่าจาก View "detail"
Set view = db.GetView("detail")
Set doc = view.GetFirstDocument
REM เปรียบเทียบค่าและเซตค่าจากคอลัมน์ชื่อใส่ในฟิลด์ list1
While Not(doc Is Nothing)
test1 = doc.ColumnValues(1)
test2 = doc.ColumnValues(0)
If (test1=itimes) And (test2=iyear) Then
If isubj=doc.ColumnValues(2) Then
test1 = doc.ColumnValues(3)
Call uidoc.FieldAppendText("list",test1 & "-->เสนอโดย : ")
test2 = doc.ColumnValues(5)
Set collection = db.FTSearch(test2, 0,FT_SCORES,FT_STEMS)
Set doc2 = collection.GetFirstDocument
Set item = doc2.GetFirstItem("person")
plainText = item.Text
Call uidoc.FieldAppendText("list",plainText & Newline)
Set item = doc2.GetFirstItem( "body" )
plainText = item.Text
If (plainText = "") Then
Call uidoc.FieldAppendText("list","รายละเอียด : ---" & Newline & Newline)
Else
Call uidoc.FieldAppendText("list","รายละเอียด : " & plainText & Newline & Newline)
End If
End If
End If
Set doc = view.GetNextDocument(doc)
Wend
End Sub