Lotus Software ロゴ
IBM Lotus Domino Designer 8.5
  バージョン 8.5 および 8.5.1






@DbColumn (Lotus Domino データソース)

Lotus Domino のデータベースのビューまたはフォルダから列の値を返します。

構文

@DbColumn( class :cache ; server :database ; view ; columnNumber )

class と cache 引数の間、および server と database 引数の間の分離記号はコロンで、それ以外の分離記号はセミコロンです。

パラメータ

class

文字列。アクセスするデータベースの種類を指定します。Lotus Domino のデータベースを指定するには、"Notes" または "" (Null 文字列) を使用します。

cache

文字列引数。省略可能。初回の検索では、"" または "NoCache" を指定します。"" を指定した場合、次回の検索でも同じデータソースを検索する場合は、"ReCache" を指定できます。

server :database

文字列リスト。サーバーのロケーションとデータベースのファイル名を指定します。「サーバーとデータベースを指定する」を参照してください。

view

文字列。検索するビューの名前を指定します。必ず [ビューのプロパティ] インフォボックスに指定されているビュー名全体を指定します。別名は省略できます。ビューのサブメニュー表示がある場合は、その名前も含めて指定します。「ビューかフォルダを指定する」を参照してください。

columnNumber

数値。ビュー内の列番号を指定します。情報は列番号に基づいて検索されるため、取り出せるのはビューに実際に表示されているデータだけです。「列番号を指定する」を参照してください。

戻り値

valuesFound

文字列、数値、日時、または文字列リスト。指定したビューの列にある値が返されます。後述の「戻り値にアクセスする」を参照してください。

サーバーとデータベースを指定する

server : detabase パラメータは、次のようにさまざまな方法で指定できます。

レプリカは次の順序で検索され、最初に検出されたレプリカが使用されます。

Notes

ビューかフォルダを指定する

ビュー (またはフォルダ) のパラメータは、ビューの全体名または別名で指定できます。たとえば、[Last Name] ビューに別名「|LName」があり、[表示] メニューで [By Author] のサブメニューとして表示される場合は、[ビューのプロパティ] インフォボックスで次のように表示されます。

By Author\Last Name|LName

このビューを @DbColumn で参照するとき、次のように別名の LName だけを引用符で囲んで指定できます。

"LName"

ビュー名に別名がない場合、[By Author] 名とサブメニュー表示の [Last Name] を引用符で囲んで (別名なしで) 指定できます。また、このビュー名は式で使用するものであるため、\ が正しく解釈されるようにもう 1 つ \ を付けます。

"By Author\\Last Name"

列番号を指定する

columnNumber パラメータを指定するときは、ビューの列は左から右に数え、左端の列が列番号 1 となります。ただし、検索ではすべての列が数えられるわけではありません。これは、Lotus Domino がビューに索引を付ける方法の特性によるものです。

検索用の列番号は次の方法で計算します。

  1. ビュー内の列を左から右に数えます。列の数え漏れがないことを確認します。たとえば、ビューをソートしたり分類したりするために使用される列は表示されないことがあります。すべての列を確認するには、ビューを設計モードで表示します。
  2. 32 や "Submitted by:" などの定数値を表示する列は数えません。ある列の式の結果が、すべての文書で偶然同じであったとしても、これは「定数」とは見なされません。このような列は数えます。
  3. 次の @関数のみが使用されている列は数えません。@DocChildren、@DocDescendants、@DocLevel、@DocNumber、@DocParentNumber、@DocSiblings、@IsCategory、@IsExpandable。
  4. 列を左から右に数え直して確認します。

ここで求めた列番号を検索式で指定します。

ビューにない列を指定した場合、エラーとしては処理されず、単に Null 値が返されます。

戻り値にアクセスする

複数の値が返されるときは、現在のフィールドのインフォボックスで指定された複数値の分離記号で区切られたリストの形式で返されます。

@DbColumn は、64KB を超えるデータを返すことはできません。次の公式を使用して、@DbColumn で返されるデータ量を求めます。

文字列を返す検索の場合

2 + (2 * 返されるエントリ数) + 全エントリの合計文字列サイズ

数値または日付を返す検索の場合

(10 * 返されるエントリ数) + 6

使用法

@DbColumn は、主にキーワード式で使用します。キーワードのリストをハードコーディングして、キーワードフィールドが含まれているフォームを編集し直してリストを定期的に更新する代わりに、@DbColumn を使用すれば、データベースのビューまたはテーブルから、値のリストを動的に取り出すことができます。

この関数は、列式、選択式、メールエージェントでは使用できません。

サーバーエージェントとセキュリティ

@DbColumn が含まれているデータベースを参照元データベース、アクセスされるデータベースを参照先データベースと考えます。

@DbColumn をエージェントで使用するとき、参照元データベースを管理するサーバーと同じサーバーまたは別のサーバーで実行されている参照先データベースのデータにアクセスできます。エージェントの署名者には、参照先データベースに対する [読者] 以上のアクセス権が必要です。

R5 以前のサーバーで実行されるエージェントは、参照元データベースと同じサーバーにある参照先データベースにのみアクセスできます。さらに、エージェントの署名者には、参照先データベースに対する [読者] 以上のアクセス権が必要です。ACL でレプリカ ID を使用することは、R6 以降からサポートされています。R6 以前のデータベースの ACL でエージェントの署名者名を使用できない場合、レプリカ ID が代わりに使用されます。参照元データベースにアクセス権を与えるには、参照元データベースのレプリカ ID (たとえば 85255CEB:0032AC04) を参照先データベースの ACL に追加し、[読者] 以上のアクセス権を割り当てます。

その他のエージェントとセキュリティ

その他の種類の式やエージェントで @DbColumn を使用する場合は、ユーザーのクライアントに保存されているすべての参照先データベースに対して無制限にアクセスできます。参照先データベースが別の Lotus Domino サーバーに保存されている場合、@DbColumn からそのサーバーにアクセスできるかどうかは、ユーザーの Lotus Notes ID に基づくアクセスレベルによって決まります。

@DbColumn は、ビューの読み込みアクセスリストの影響を受けます。

クロスリファレンス

LotusScript NotesDocument クラスの ColumnValues プロパティ

LotusScript NotesView クラスの GetColumn メソッド

Java Document クラスの ColumnValues プロパティ

Java View クラスの getColumn メソッド

例:@DbColumn (Lotus Domino データソース)
関連項目
現在の文書とデータベース以外のデータにアクセスする
@DbColumn (ODBC データソース)
ECL セキュリティを伴う @関数
@関数を処理する
Lotus Developer Domain: Tips の「Creating an alphabetical navigation bar (アルファベット順のナビゲーションバーを作成する)」
Lotus Developer Domain: 「Designing a secure Domino app (セキュアな Lotus Domino アプリケーションを設計する)」
Lotus Developer Domain: Sandbox の @SoundEx を使用したコード例
Lotus Developer Domain: 「Simplifying your LotusScript with the Evaluate statement (Evaluate ステートメントを使用して LotusScript を簡素化する)」
Lotus Developer Domain: 「Displaying marquees on your applications (アプリケーションにマーキーを表示する)」
Lotus Developer Domain: 「Adding a friendly ad-hoc query tool to Domino applications (Domino アプリケーションに便利なアドホッククエリーツールを追加する)」
Lotus Developer Domain: Sandbox の連番のコード例




ライブラリー | サポート | ご利用条件 |

最終更新日: 2009 年 10 月 5 日 (月曜日)