例: 現在の文書とデータベース以外のデータにアクセスする

  1. この例は、ローカルのアドレス帳 (NAMES.NSF) の [People] ビューでユーザー名を調べ、その名前が含まれる文書からオフィスの電話番号を取得します。
    inputName := @Prompt([OkCancelEdit]; "User name"; "Enter user name as FIRST LAST"; "");
    adjName := @Right(inputName; " ") + " , " + @Left(inputName; " ");
    phoneNumber := @DbLookup("Notes" : "NoCache"; "" : "NAMES"; "People"; adjName; "OfficePhoneNumber");
    @Prompt([Ok]; "Office phone number"; inputName + "'s office phone is " + phoneNumber)
  2. 次の例は、2 点を除いて最初の例と同じです。指定した名前の代わりに、アドレス帳データベースのレプリカ ID を使用します。Notes は、レプリカをまずローカルで検索し、次にサーバーを検索して、そのレプリカ ID を持つ、最初に見つかったデータベースを使用します。@DbLookup の最後のパラメータは、OfficePhoneNumber ではなく列 2 です。列 2 には電話番号が入っているため、実質的にこれは同じです。
    inputName := @Prompt([OkCancelEdit]; "User name"; "Enter user name as FIRST LAST"; "");
    adjName := @Right(inputName; " ") + " , " + @Left(inputName; " ");
    phoneNumber := @DbLookup("Notes" : "NoCache"; "85255AD6:006AE971"; "People"; adjName; 2);
    @Prompt([Ok]; "Office phone number"; inputName + "¥'s office phone is " + phoneNumber)
  3. 次の例は、ローカルのアドレス帳の [Groups] ビューでグループのメンバー名を調べます。
    groupName := @Prompt([OkCancelEdit]; "Group name"; "Enter group name"; "");
    members := @DbLookup("Notes" : "NoCache"; "" : "NAMES"; "Groups"; groupName; "Members");
    @Prompt([OkCancelList]; "Group members"; "Members of " + groupName; ""; members)
  4. 次の例は、電話番号を指定して、ローカルのアドレス帳内の対応するユーザー名を取得します。この例は、1 つの電話番号が正確に 1 人に対応している場合に機能するように設計されています。データベースには電話番号でソートされたビューがないため、この例は、@DbColumn を使用してすべての電話番号 (列 2) とユーザー全員 (列 1) を取得してから、電話番号に対応するユーザーを検索します。
    phone := @Prompt([OkCancelEdit]; "Phone number"; "Enter phone number"; "");
    phoneList := @DbColumn("Notes" : "NoCache"; "" : "NAMES"; "People"; 2);
    nameList := @DbColumn("Notes" : "NoCache"; "" : "NAMES"; "People"; 1);
    position := @Member(phone; phoneList);
    @If(position = 0; @Do(@Prompt([Ok]; "Not listed"; "No listing for " + phone); @Return(" " )); "");
    name := @Subset(@Subset(nameList; position); -1);
    nameAdj := @Right(name; " ") + " " + @Left(name; ",");
    @Prompt([Ok]; "Phone number " + phone; nameAdj)