Domino のデータベースのビューまたはフォルダから列の値を返します。
@DbColumn( class : cache ; server : database ; view ; columnNumber )
class
文字列。アクセスするデータベースの種類を指定します。Domino のデータベースを指定するには、"Notes" または "" (Null 文字列) を使用します。
cache
文字列引数。オプション。初回の検索では、"" または "NoCache" を指定します。"" を指定した場合、次回の検索でも同じデータソースを検索する場合は、"ReCache" を指定できます。
server : database
文字列リスト。サーバーのロケーションとデータベースのファイル名を指定します。「サーバーとデータベースを指定する」を参照してください。
view
文字列。検索するビューの名前を指定します。必ず [ビューのプロパティ] インフォボックスに指定されているビュー名全体を指定します。別名は省略できます。ビューのサブメニュー表示がある場合は、その名前も含めて指定します。「ビューかフォルダを指定する」を参照してください。
columnNumber
数値。ビュー内の列番号を指定します。情報は列番号に基づいて検索されるため、取り出せるのはビューに実際に表示されているデータだけです。「列番号を指定する」を参照してください。
valuesFound
文字列、数値、日時、文字列リスト。指定したビューの列にある値が返されます。後述の「戻り値にアクセスする」を参照してください。この列を再度ソートできる場合、結果は現在のソート順序に左右されます。
server : database パラメータを指定する方法はいくつかあります。
レプリカは次の順序で検索され、最初に検出されたレプリカが使用されます。
レプリカが特定されると、以降の検索で時間を節約するためにワークスペースに追加されます。
ビュー (またはフォルダ) のパラメータは、ビューの全体名または別名で指定できます。例えば、[Last Name] ビューに別名「|LName」があり、[表示] メニューで [By Author] のサブメニューとして表示される場合は、[ビューのプロパティ] インフォボックスで次のように表示されます。
By Author¥Last Name|LName
このビューを @DbColumn で参照するとき、次のように別名の LName だけを引用符で囲んで指定できます。
"LName"
ビュー名に別名がない場合、[By Author] 名とサブメニュー表示の [Last Name] を引用符で囲んで (別名なしで) 指定できます。また、このビュー名は式で使用するものであるため、Domino が正しく解釈できるように「¥」の前にもう 1 つ「¥」を付ける必要があります。
"By Author¥¥Last Name"
columnNumber パラメータを指定する場合は、最初の列を列番号 1 としてビューの列を数えます。ただし、検索ではすべての列が数えられるわけではありません。これは、Domino がビューに索引を付ける方法の特性によるものです。
検索用の列番号は次の方法で計算します。
ここで求めた列番号を検索式で指定します。
ビューにない列を指定した場合、エラーとしては処理されず、単に Null 値が返されます。
複数の値が返されるときは、現在のフィールドのインフォボックスで指定された複数値の分離記号で区切られたリストの形式で返されます。
@DbColumn は、64KB を超えるデータを返すことはできません。次の公式を使用して、@DbColumn で返されるデータ量を求めます。
文字列を返す検索の場合
2 + (2 * 返されるエントリ数) + 全エントリの合計文字列サイズ
数値または日付を返す検索の場合
(10 * 返されるエントリ数) + 6
@DbColumn は、主にキーワード式で使用します。キーワードのリストをハードコーディングして、キーワードフィールドが含まれているフォームを編集し直してリストを定期的に更新する代わりに、@DbColumn を使用すれば、データベースのビューまたはテーブルから、値のリストを動的に取り出すことができます。
この関数は、列式、選択式、メールエージェントでは使用できません。
@DbColumn が含まれているデータベースを参照元 データベース、アクセスされるデータベースを参照先 データベースと考えます。
@DbColumn をエージェントで使用するとき、参照元データベースを管理するサーバーと同じサーバーまたは別のサーバーで実行されている参照先データベースのデータにアクセスできます。エージェントの署名者には、参照先データベースに対する [読者] 以上のアクセス権が必要です。
その他の種類の式やエージェントで @DbColumn を使用する場合は、ユーザーのクライアントに保存されているすべての参照先データベースに対して無制限にアクセスできます。参照先データベースが別の Domino サーバーに保存されている場合、@DbColumn からそのサーバーにアクセスできるかどうかは、ユーザーの Notes ID に基づくアクセスレベルによって決まります。
@DbColumn は、ビューの読み込みアクセスリストの影響を受けます。
@DbColumn("";"":"INVENTRY.NSF";"Inventory On Hand";2)
LotusScript® NotesDocument クラスの ColumnValues プロパティ
LotusScript NotesView クラスの GetColumn メソッド
Java™ Document クラスの ColumnValues プロパティ
Java View クラスの getColumn メソッド