@UserAccess (式言語)

サーバーとファイル名で指定されたデータベースに対する現在のユーザーのアクセスレベルを調べます。

注: R4 で使用されていた @UserAccess は、R5 以降では自動的に @V4UserAccess に変換され、式の機能が維持されます。@UserAccess を使用するように式を変更する場合は、必ず R5 で再コンパイルしてください。R5 で @UserAccess を使用するとき、データベースが R4 で作成されたものである場合は、データベースを R5 にアップグレードしなければ式は認識されません。式が R4 で評価される場合は、@V4UserAccess を使用してください。
注: AccessPrivilege キーワードは Release 6 で新しく追加されました。

構文

@UserAccess( server : file ; [ accessPrivilege ] )

パラメータ

server

文字列。サーバーの名前。ローカルコンピュータの場合は空の文字列 ("") を使用します。

file

文字列。データベースのパスとファイル名です。データベースのパスとファイル名は、使用するオペレーティングシステムに適した形式を使用して指定します。

[ accessPrivilege ]

キーワード。オプション。ユーザーのアクセス情報がすべて含まれているリストではなく、ユーザーのアクセスレベルが返されるようにする場合や、特定のデータベース権限があるかどうかを調べる場合は、以下のキーワードのいずれかを指定します。

以下のキーワードで指定した権限がユーザーに与えられている場合は 1 (True) が返され、そうでない場合は 0 (False) が返されます。これらの権限は、データベースのアクセス制御リストで指定されています。

戻り値

1 つ以上のキーワードを指定すると、以下の値を格納した文字列値または文字列リストが返されます。

キーワードを指定しない場合は、以下のキーワードに対する値の文字列リストが返されます。

使用法

[このデータベースのレプリカはすべて共通のアクセス制御リストを用いる] が有効になっていないローカルデータベースでは、2 番目のパラメータの指定がない @UserAccess は常に 6; 1; 1; 1; 1; 1; 1; 1; 1 を返します。データベースに対する現在のユーザーのアクセス権が [なし] の場合は、「操作を実行する権限がありません」というメッセージが表示されます。

この関数は列式、選択式、サーバー上で実行されるエージェント (メールエージェントとスケジュールが設定されているエージェント) では使用できません。そのため、Evaluate ステートメントとともに使用することはできません。

  1. ユーザーに「作成者」のアクセス権が設定され、Gaborone サーバーの discuss ディレクトリにある nun.nsf データベース内での文書の作成、文書の削除、個人エージェントの作成、個人ビュー、個人フォルダの作成が許可されている場合 (ただし、共有ビューと共有フォルダの作成は許可されていない場合)、次の式は文字列リスト 3: 1: 1: 1: 1: 0 を返します。
    @UserAccess( "Gaborone" : "discuss¥¥nun.nsf" )
  2. 次の式をフォームアクションボタンに追加した場合、現在の (nun.nsf) データベースに文書を作成する権限が現在のユーザーに与えられていれば、[MyOpinion] フォームを使用して新しい文書が作成されます。
    @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."))
  3. 現在のデータベースでユーザーに「管理者」のアクセス権が設定され、文書の作成と削除、個人エージェントの作成、個人ビュー、共有ビューとフォルダの作成、LotusScript® または Java™ エージェント (あるいはその両方) の作成、公開文書の読み込みと書き込みが許可されている場合、次の式は文字列リスト 6: 1: 1: 1: 1: 1: 1: 1: 1 を返します。次の式が保存されているフィールドの複数値分離記号がセミコロンの場合、文字列リストは 6; 1; 1; 1; 1; 1; 1; 1; 1 と表示されます。
    @UserAccess( @DbName )

クロスリファレンス

LotusScript NotesDatabase クラスの QueryAccess メソッド

LotusScript NotesDatabase クラスの CurrentAccessLevel プロパティ

Java Database クラスの queryAccess メソッド

Java Database クラスの CurrentAccessLevel プロパティ