โทษทีครับ อาจจะข้าม step ไปหน่อยนะครับ
1. สร้าง form ที่เป็นหน้าเอาไว้สำหรับเป็น dialogue เอาไว้สำหรับรับข้อมูลที่ต้องการหาครับ form หรือจะใช้เป็น subform ที่สร้างเราสามารถนำมาเป็น dialogue ไว้สำหรับรับข้อมูลได้ครับ
2. ตอนปิด form ใน query close event ให้เราระบุค่ำสั่งที่เป็นการเก็บค่าของคำค้นของแต่ฟิลด์ที่เรากรอกไว้ใน dialogue โดยใช้คำสั่ง @Environments
@Environment("EnvSendTo"; @FieldGetText("SendTo"))
@Environment("EnvSubject"; @FieldGetText("Subject"))
3. ใน lotusscript ตรงบรรทัดด้านล่างจะต้องระบุชื่อฟอร์มให้ตรงกับที่สร้างข้อ 1 ครับ
Flag = Workspace.DialogBox ( "ชื่อฟอร์ม", True, True, False, True, True, False, "ส่งเมลล์" )
4. ใน lotusscript ตรงบรรทัดด้านล่างนี้เราจะรับค่าของตัวแปร environment และส่งต่อค่าไปยังเงื่อนไขที่เรารับค่ามาที่แรกเพื่อไป query จากคำสั่งก็จะได้เอกสารเป็น collection (กลุ่มของเรคอรด์) มาแล้วหล่ะ
รับค่ามาจาก dialogue
Subject = Cstr(Session.GetEnvironmentString("EnvSubject")) ' Get Environment String Sent
SendTo = Cstr(Session.GetEnvironmentString("EnvSendTo")) ' Get Environment String Sent
ส่งต่อมายังคำสั่งเพื่อ query ข้อมูลครับ
SearchFormula$ = "Form = ""FormName""" + "&" + TmpSubject$
Set Collection = db.Search(SearchFormula$, dateTime, 0 )
5. คำสั่งนี้จะแตกกลุ่มของเรคอรด์ออกที่ละเรคอรด์ แล้วทำการ put เอกสารที่เจอไปยัง folder โดยจากคำสั่ง putinfolder โปรแกรมจะทำการสร้าง folder ให้เองอัตโนมัติครับ
for i = 1 to Collection.Count
set doc = db.GetNthDocument(i)
Call doc.PutInFolder( "FolderTemp" )
next
:yellow_cool.gif:
[quote]ถ้าเป็น search แบบมีเงื่อนไขเราใข้ db.Search ใน LotusScript โดยทำหน้าจอที่เป็น
Dialogue ไว้สำหรับรับข้อมูลที่ต้องการค้นหาก่อนครับ แล้วส่งค่าไปยังฟังก์ชั่น
db.Seach เพื่อหา document แล้วนำ document ที่ได้ไปแสดงใน folder ตามนี้เลยครับ
คือ ขอโทดค่ะ ยังไม่เข้าใจหลักของมันเท่าไร คือ นี่ให้สร้างเอกสารมาใหม่ แล้วรับค่า
จะ field ของมันใช่ไหนค่ะ หรือสร้าง dialoge ยังไงด้อ่ะค่ะ สร้างจาก Folder ได้เลย
ไหม ขอโทษค่ะ ที่ถามไม่เข้าใจจริงๆ
:yellow_cry.gif: :yellow_cry.gif: [/quote] |