予告通り、データベースの検索の2回目。
全文索引がついていない場合の検索。
NotesDatabaseクラスのSearchメソッドは検索条件に、Select文を利用できる。@関数も記述できると言うことだ。
また、第二パラメータに日付を指定することで、その日付よりも古い文書は検索対象外にすることもできる。
---------------------------------------------------------------------------------------------------------
Sub Click(Source As Button)
'検索用データベースの変数定義
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docs As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
'検索キー変数の定義
Dim skey As String
'その他の変数
Dim i As Integer
Dim stitle As String
Dim dateTime As New NotesDateTime( "1900/01/01" )
'検索式の入力
skey = Inputbox( "検索したいノーツ式(@関数も可)を入力してください。", "データベースの検索" )
'データベースの検索
'skeyが検索文字列、dateTimeより後の日付の文書を検索する
'0は検索に一致した文書をすべて取得するというオプション
Set docs = db.Search( skey, dateTime, 0 )
stitle = ""
For i = 1 To docs.Count
Set doc = docs.GetNthDocument( i )
'タイトルをsbjという変数に保存しておく。その際、1タイトルごとに改行する
'Chr$(13)は改行コードを意味する
stitle = stitle + Cstr( i ) + "." + doc.Subject( 0 ) + Chr$(13)
Next
'検索結果の表示
If docs.Count = 0 Then
Messagebox "検索文字列に該当する文書はありませんでした。"
Else
Messagebox stitle, 0, "検索結果の文書のタイトル一覧"
End If
End Sub
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ
2008年7月2日水曜日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿