ページ

当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

2008年7月2日水曜日

データベースの検索2(Serachメソッド)

予告通り、データベースの検索の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 カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント:

◆クリックして応援よろしく!◆
にほんブログ村 IT技術ブログへ ブログランキング【くつろぐ】
人気ブログランキングへ blogram投票ボタン