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

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

2008年12月26日金曜日

サーバー名の取得

溜めておいたネタがなくなってきました。
なので、今更な感がありますが、データベースがあるサーバの名前を取得するというサンプルにします。
(もう少し、考えて書いてくれば良かったなぁ・・・)

自DBはNotesSessionクラスのCurrentDatabaseプロパティで取得できます。
そのNotesDatabaseクラスのServerプロパティを取得するだけです。
ここで注意してほしいのは、ローカルPCにあるDBの場合、このServerプロパティは""(空の文字列)を返すということです。

ちなみに、@関数でもDBのサーバ名を取得できます。
@DBNameという関数がそうなのですが、この戻り値が「サーバ名:DBファイル名」というリストを返します。
なので、リストの一番目を取得すればよいのです。

LotusScriptのサンプルはこちら。

Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    
    'データベースが存在するサーバー名を表示する
    Set db = session.CurrentDatabase
    If db.Server = "" Then
        'db.Serverが空白の場合、ローカルディスクにあることになる。
        Messagebox "このデータベースはローカルにあります。", 0, "結果"
    Else
        Messagebox "このデータベースは、" & db.Server & "にあります。", 0, "結果"
    End If
End Sub



@関数のサンプルはこちら。

SRV := @Subset(@DbName;1);
@If(SRV="";@Prompt([OK];"結果";"このデータベースはローカルにあります。");@Prompt([OK];"結果";"このデータベースは" + SRV + "にあります。"))









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

0 件のコメント: