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

テクてく Lotus 技術者 Slack に参加しよう!

2008年7月3日木曜日

データベースの検索3(文書IDによる検索)

データベースの検索第三弾。
文書UNIDによる検索です。

特別な設定が不要で簡単に検索できるし、結果は「ある」か「ない」のどちらかで非常にわかりやすい。
ここで気をつけたいのが、「ない」場合。
通常、オブジェクト(ここでは、NotesDocument)がNothingかどうかで、文書のあり/なしを判断するのだが、GetDocumentByUNIDメソッドではこれが通じない。
検索して該当する文書が存在しない場合は、このメソッドが4091のエラーを返すのである。

こんな感じ。
If Err = 4091 Then
    '文書がなかった場合の処理
End If

サンプルでは、このエラー処理は組み込んでいない。

Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim uiws    As New NotesUIWorkspace
    Dim uidoc   As     NotesUIDocument
    Dim doc     As     NotesDocument
    Dim uid     As     String
    Dim db      As     NotesDatabase
    Dim doc2    As     NotesDocument
    
    '現在の文書の文書IDを取得する
    Set uidoc = uiws.CurrentDocument
    Set doc   = uidoc.Document
    uid = doc.UniversalID
    
    '自DBで、文書IDを元に文書を検索する
    Set db   = session.CurrentDatabase
    Set doc2 = db.GetDocumentByUNID( uid )
    
    Messagebox "文書のタイトルは、『" + doc2.Subject(0) + "』です。", 0, "データベースの検索"
End Sub



Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: