今回は@関数の中でもかなり使用頻度の高い @DbColumn の基本的な使い方について紹介します。
機能イメージ
まずは作成する機能にです。部門名を管理するフォームがあり、あらかじめ社内の部をマスタデータとして登録しておいたとします。
報告書フォームのフィールド ”部” の選択肢をマスタデータから読み込むというものです。例えば次のように部門欄の[▼]ボタンをクリックするとマスタデータから部を選択します。ユーザは選択するだけなので操作が簡単ですし、手入力と違い表記ブレが発生しないので、データの精度も上がりますね。
フォームの設計
このような機能を提供するのが、ダイアログリストという種類のフィールドとなります。
このフィールドに対して選択肢を与える機能がフィールドプロパティの2つ目の[制御]タブにあります。選択肢の指定方法はさまざまな種類があるのですが、”式で選択肢を設定”を選び、その下に事前に作成したビューからデータを取得する式を記述します。ここで使用する式が今回のテーマの @DbColmun 関数になります。
@DbColmun の仕様
デザイナーヘルプによると @DbColmun の構文は次のように記載されています。
@DbColumn(class:cache; server:database; view; columnNumber) |
引数は 4 つです。class と cache、server と database は ":"(コロン)でつながっている点に注意が必要です。コロンはリスト演算子ですので、2 つの値をリスト値(複数値)として 1 つの引数に渡す仕様ということです。プログラミング言語的には、配列で指定するということになりますね。
引数の指定方法は次の通りです。
class | 文字列 | アクセスするデータベースの種類を指定 Notes/Domino の場合 "Notes" または "" (Null 文字列) を指定 |
cache | 文字列 | "" (Null 文字列) で結果をキャッシュ “ReCache” で最新データによってキャッシュが更新 “NoCache” で常に結果を取得 |
server | 文字列 | サーバとファイル名を指定 "" (Null 文字列) で自分自身の DB |
database | 文字列 | |
view | 文字列 | 結果を取得するビュー名 |
columnNumber | 数値 | 結果を取得するビュー内の列番号を指定 |
戻り値は、指定したビューの指定した列にある値がリスト値で返されます。
@DbColmun の動作
改めて先のサンプルの式を確認しましょう。
@DbColumn("Notes":"NoCache"; ""; "vDept"; 1) |
引数では、次のように指定されていることが読み取れます。
- Notes/Domino から結果を取得
- キャッシュは利用せず常に最新の結果を取得
- 自分自身のDB に接続
- vDept ビューの 1 列目を取得
この式を中心にビューの設計とアプリの動作を図式すると以下の通りとなります。
0 件のコメント:
コメントを投稿