例: Opening a database

  1. 次の例では、ローカルに保存されているデータベースを開き、そのデータベースオブジェクトのプロパティを出力します。データベース名はユーザーが入力しますが、拡張子 NSF は必要ありません。
    Sub Initialize
      Dim db As New NotesDatabase ("",  Inputbox ("File name"))
      If db.IsOpen Then
        Messagebox "Title: " & db.Title & Chr(10) _
        & "File name: " & db.FileName
      Else
        Messagebox "Could not open database " & db.FileName
      End If
    End Sub
  2. 次の例では、現在のデータベースを開きます。
    Sub Initialize
      Dim session As New NotesSession
      Dim db As NotesDatabase
      Set db = session.CurrentDatabase
      Messagebox "Title: " & db.Title & Chr(10) _
      & "File name: " & db.FileName
      If db.IsOpen Then msg = "open" Else msg = "not open"
      Messagebox "Database is " & msg
    End Sub
  3. 次の例では、オブジェクト db で表わされるデータベースが閉じているか開いているかを示すメッセージを表示します。データベースが閉じている場合は、Open メソッドで開きます。
    Sub Initialize
      Dim db As New NotesDatabase("", "")
      If db.IsOpen Then Messagebox "Is open" Else Messagebox "Not open"
      Call db.Open("", Inputbox("File name?"))
      If db.IsOpen Then 
        Messagebox "Title: " & db.Title & Chr(10) & "Is open" , , _
        "File name: " & db.FileName
      Else 
        Messagebox "Not open", ,  "File name: " & db.FileName
      End If
    End Sub
  4. 次の例では、ローカルデータベースを検索し、ユーザーが指定した名前のデータベースを開きます。NotesDbDirectory の GetFirstDatabase や GetNextDatabase メソッドから返されてデータベースオブジェクトはすでに存在しているため、Open メソッドの呼び出しは Null パラメータを指定します。
    Sub Initialize
      Dim dbdir As New NotesDbDirectory("")
      Dim db As NotesDatabase
      Dim dc As NotesDocumentCollection
      Dim doc As NotesDocument
      Set db = dbdir.GetFirstDatabase(DATABASE)
      dbTitle = Inputbox("Title of database?")
      While Not(db Is Nothing)
       If db.Title = dbTitle Then
        Call db.Open("", "")
        Set dc = db.AllDocuments
        Set doc = dc.GetFirstDocument()
        While Not(doc Is Nothing)
           Messagebox "Subject: " & _
           doc.Subject(0)
           Set doc = dc.GetNextDocument(doc)
        Wend
        Exit Sub
       End If
       Set db = dbdir.GetNextDatabase
      Wend
    End Sub
  5. 次の例では、ユーザーのメールデータベースを開きます。
    Sub Initialize
      Dim db As New NotesDatabase("", "")
      Call db.OpenMail
      If db.IsOpen Then
        Messagebox "Title: " & db.Title
      End If
    End Sub
  6. 次の例では、サーバー Market に保存されていて、SALES2 というデータベースと同じレプリカ ID を持つデータベースを開きます。
    Sub Initialize
      Dim dbLocal As New NotesDatabase("", "SALES2")
      Dim dbRemote As New NotesDatabase("", "")
      If dbRemote.OpenByReplicaID("Market", _
      dbLocal.ReplicaID) Then
        Messagebox "Remote database opened OK"
      Else
        Messagebox "Remote database did not open"
      End If
    End Sub