ถ้าจะ search จาก column แบบ excel หรือแบบ rdbms database คงไม่ได้ครับ (เว้นแต่ว่าถ้าเป็น Notes8 เก็บเป็น DB2 อันนี้ทำได้ครับ)
ถ้าเป็น search แบบมีเงื่อนไขเราใข้ db.Search ใน LotusScript โดยทำหน้าจอที่เป็น Dialogue ไว้สำหรับรับข้อมูลที่ต้องการค้นหาก่อนครับ แล้วส่งค่าไปยังฟังก์ชั่น db.Seach เพื่อหา document แล้วนำ document ที่ได้ไปแสดงใน folder ตามนี้เลยครับ
Dim Workspace As New NotesUIWorkspace
Dim Session As New NotesSession
Dim DbCurrent As NotesDatabase
Dim ServerName As String
Dim FileName As String
Dim PathName As String
Dim Dbname As String
Dim Uidoc As NotesUidocument
Set Uidoc = Workspace.CurrentDocument
Set DbCurrent = Session.CurrentDatabase
ServerName = DbCurrent.Server
FileName = DbCurrent.FileName
PathName = Left(DbCurrent.FilePath,Instr(1,DbCurrent.FilePath,FileName) - 1)
Dbname = PathName & "database.nsf"
Dim Db As New NotesDatabase(ServerName,dbname) 'Declare db2 as type NotesDatabase
Dim Collection As NotesDocumentCollection
Dim Doc As NotesDocument
Dim Newsletter As NotesNewsletter
Dim DateTime As New NotesDateTime( "01/01/96" )
Dim SendTo As Variant
Dim CCTo As Variant
Dim BCCTo As Variant
Dim Flag As Variant
Flag = Workspace.DialogBox ( "Mails", True, True, False, True, True, False, "ส่งเมลล์" )
If Flag = False Then
Exit Sub
End If
Subject = Cstr(Session.GetEnvironmentString("EnvSubject")) ' Get Environment String Sent
SendTo = Cstr(Session.GetEnvironmentString("EnvSendTo")) ' Get Environment String Sent
If Subject = "" Then
TmpSubject$ = "@Matches(Subject; " + """" + "*" + """" + ")"
Else
TmpSubject$ = "@Matches(Subject; " + """" + Subject + """" + ")"
End If
SearchFormula$ = "Form = ""FormName""" + "&" + TmpSubject$
Set Collection = db.Search(SearchFormula$, dateTime, 0 )
for i = 1 to Collection.Count
set doc = db.GetNthDocument(i)
Call doc.PutInFolder( "FolderTemp" )
next |