例: QueryAccess method

  1. 次のスクリプトはデータベース CHECK.NSF の Susanna Coyle のアクセスレベルを取得します。
    Dim db As NotesDatabase
    Dim level As Integer
    Set db = New NotesDatabase( "Belem", "check.nsf" )
    level = db.QueryAccess( "Susanna Coyle" )
    • Susanna Coyle がデータベースの [作成者]のアクセス権を持つ場合、level には ACLLEVEL_AUTHOR が含まれます。
    • Susanna Coyle がデータベースの [設計者] のアクセス権を持つグループのメンバーであり、ACL に他のアクセス権が登録されていない場合は、level には ACLLEVEL_DESIGNER が含まれます。
    • Susanna Coyle が [編集者] のアクセス権を持つグループと [設計者] のアクセス権を持つグループのメンバーであり、ACL に他のアクセス権が登録されていない場合は、level には ACLLEVEL_DESIGNER が含まれます。
    • Susanna Coyle が ACL に明示的に登録されておらず ACL に登録されているどのグループの一員でもないときで、データベースのデフォルトのアクセス権が [読者] の場合、level には ACLLEVEL_READER が含まれます。
  2. 次に示すフォームのアクションスクリプトは、現在のユーザーのデータベースに対するアクセスレベルを調べてから、そのデータベースの複数の値を参照します。ユーザーが [読者] 以上のアクセス権を持たないときは、メッセージが表示されてスクリプトが終了します。[読者] 以上のアクセス権を持つときは、目的のデータベースが開かれ、[Product] ビューの列の値が現在開かれている文書の [本文] フィールドに追加されます。
    Sub Click(Source As Button)
      Dim session As New NotesSession 
      Dim workspace As New NotesUIWorkspace
      Dim uidoc As NotesUIDocument
      Dim db As New NotesDatabase( "Cambridge", "sites.nsf" )
      Dim view As NotesView
      Dim doc As NotesDocument
      If ( db.QueryAccess( session.CommonUserName ) < _
      ACLLEVEL_READER ) Then
        Messagebox( "The information from " + db.Title +  _
        " is unavailable." )
      Else
        Set uidoc = workspace.CurrentDocument
        Set view = db.GetView( "Locations" )
        Set doc = view.GetFirstDocument
        While Not ( doc Is Nothing )
          Call uidoc.FieldAppendText( "Body",  _
                                      doc.ColumnValues( 0 ) )
          Set doc = view.GetNextDocument( doc )
        Wend
      End If
    End Sub