サーバーとファイル名で指定されたデータベースに対する現在のユーザーのアクセスレベルを調べます。
@UserAccess( server : file ; [ accessPrivilege ] )
server
文字列。サーバーの名前。ローカルコンピュータの場合は空の文字列 ("") を使用します。
file
文字列。データベースのパスとファイル名です。データベースのパスとファイル名は、使用するオペレーティングシステムに適した形式を使用して指定します。
[ accessPrivilege ]
キーワード。オプション。ユーザーのアクセス情報がすべて含まれているリストではなく、ユーザーのアクセスレベルが返されるようにする場合や、特定のデータベース権限があるかどうかを調べる場合は、以下のキーワードのいずれかを指定します。
レベル |
ユーザーのアクセスレベル |
---|---|
1 |
[投稿者] |
2 |
[読者] |
3 |
[作成者] |
4 |
[編集者] |
5 |
[設計者] |
6 |
[管理者] |
以下のキーワードで指定した権限がユーザーに与えられている場合は 1 (True) が返され、そうでない場合は 0 (False) が返されます。これらの権限は、データベースのアクセス制御リストで指定されています。
1 つ以上のキーワードを指定すると、以下の値を格納した文字列値または文字列リストが返されます。
キーワードを指定しない場合は、以下のキーワードに対する値の文字列リストが返されます。
デフォルトでは、ReplicateOrCopyDocuments へのアクセス権限があるかどうかは返されません。
[このデータベースのレプリカはすべて共通のアクセス制御リストを用いる] が有効になっていないローカルデータベースでは、2 番目のパラメータの指定がない @UserAccess は常に 6; 1; 1; 1; 1; 1; 1; 1; 1 を返します。データベースに対する現在のユーザーのアクセス権が [なし] の場合は、「操作を実行する権限がありません」というメッセージが表示されます。
この関数は列式、選択式、サーバー上で実行されるエージェント (メールエージェントとスケジュールが設定されているエージェント) では使用できません。そのため、Evaluate ステートメントとともに使用することはできません。
@UserAccess( "Gaborone" : "discuss¥¥nun.nsf" )
@If(@UserAccess( "" : "discuss¥¥nun.nsf" ; [CREATEDOCUMENTS]) = "1";@Command([Compose];"MyOpinion");@Prompt([OK];"Access denied";"Sorry, you do not have permission to create documents in this database."))
@UserAccess( @DbName )
LotusScript NotesDatabase クラスの QueryAccess メソッド
LotusScript NotesDatabase クラスの CurrentAccessLevel プロパティ
Java Database クラスの queryAccess メソッド
Java Database クラスの CurrentAccessLevel プロパティ