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

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

2009年5月13日水曜日

データベースのオープン

データベースのオープンについてです。
今更な感じはしますが、初めてLotusScriptを記述すると言う方もいるかもしれませんので。

通常、LotusScriptでノーツDBを取得すると、自動でオープンされた状態になっています。
よく使うのが、
Set curdb = NotesSession.CurrentDatabase
ですね。
これは、現在、アクセスしているNotes DBをオープンするというものです。

ですが、NotesDbDirectoryクラスを使ってNotes DBを取得した場合、そのNotes DBは閉じられた状態になっています。
この場合、Notes DBは明示的にオープンする必要があります。
それには、NotesDatabaseクラスのOpenメソッドを利用します。


サンプルは、Notes DBを指定せずにNotesDatabaseオブジェクトを作成(このとき、NotesDatabaseオブジェクトは閉じたままです)した後、そのオブジェクトをオープンする際に、Notes DBファイル名を指定するというものです。
ここで、注意して欲しいのは、
Set db = New NotesDatabase("","names.nsf")
としてしまうと、このdbオブジェクトはオープンされてしまい、Openメソッドを利用すると
実行エラーになってしまうと言うことです。

------------------------------------------------------------
Sub Click(Source As Button)
'指定したデータベースをオープンする
Dim db As NotesDatabase

'ここでいうNewとは、スクリプトでこれから使用するという宣言である
Set db = New NotesDatabase("","")
Call db.Open("","names.nsf")

'データベースのタイトルを表示する
Messagebox db.Title, 0, "データベースのタイトル"
End Sub


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

0 件のコメント: