ภาคผนวก

โลตัสสคริปต์ ในฟอร์มเอกสารเสนอความคิดเห็น (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