前回は、機能設計の中でも、レイアウトに表示することに焦点を当てて学びました。
画面設計(レイアウト)、機能設計、構造設計(データ)全ての場面で重要になってくる計算式について学んでいきます。
画面設計(レイアウト)、機能設計、構造設計(データ)様々な場面で計算式を用いることがありますが、計算の目的を考えることが重要です。
今回は構造設計(データの世界)の計算式について学びます。
データの世界の計算 見分け方 >>> 計算結果: が数字やテキストなどのフィールドのタイプを指定できるもの。
評価のタイミング
評価 >>> 計算式は書いただけでは結果を得ることができ無い。
その式が実際に「評価」されることによって計算結果を得られる。
これを『計算する』『再計算する』と表現することもある。
◆索引あり >>> フィールドの値が更新された時に評価(計算)が行われる。
・計算結果の特徴 結果に対して検索があるので、処理速度が早い。
※同じテーブルのフィールド値の計算の場合にのみ索引ありにできる。
◆索引なし >>> 参照時(レイアウトに出現した時)に評価(計算)が行われる。
・計算結果の特徴 結果に対して検索が無いので、処理速度が遅い。
※取得関数利用、非保存フィールド値利用、リレーション(関連レコード)のフィールド値を使用 等 の場合は索引ありにできない。
データの世界の計算式をつくる (基本)
●計算タイプのフィールドの作成
1、shift ⌘ D で[管理][データベース]を開く。
2、[フィールド]の作成。
ここからは例をあげて説明していきます。
例 タスク完了の期限まであと何日か計算する
フィールド名:「計算 _ 期限までの日数」
タイプ:「計算」
[計算を指定]ダイアログが表示。
3、期限 – Get ( 日付 )
4、右下の[索引オプション]をクリック。
5、[フィールド「計算 _ 期限までの日数」の索引オプション]ダイアログが表示。
[索引]の[計算結果を保存せずに必要時に再計算する]を オン
※期限 – Get ( 日付 )はフィールドと取得関数の計算なので関数の日にちが自動的に変わっても再計算してくれない。
オン にすることで、参照時(レイアウトに出現した時)に評価(計算)が行われる。
6、[OK]
●レイアウト
1、⌘ L レイアウトモード
2、左パネルの[フィールドタブ]から先ほど作ったフィールド「計算 _ 期限までの日数」をドラッグで配置。
3、右パネル
[外観タブ]でフォントサイズを変更。
[データタブ]⇨[データの書式設定][書式]⇨「少数」⇨[マイナス表示][色]⇨「赤」
日にちが過ぎてマイナスになった場合は赤色表示になる。
データの世界の計算式をつくる (応用)
フィールドを連結させる計算式。
先ほど作った「計算 _ 期限までの日数」フィールドとタスクの「ステータス」(現在の状況)フィールドを連結させた結果をフィールドに表示させる方法。
●計算タイプのフィールドの作成
1、shift ⌘ D で[管理][データベース]を開く。
2、[フィールド]の作成。
例 「ステータス」と期限までの日数を連結させて表示する。
フィールド名:「計算_ステータスと日数」
タイプ:「計算」
[計算を指定]ダイアログが表示。
3、ステータス & “ あと ” & 計算 _ 期限までの日数 & ” 日 “
計算結果:「テキスト」※文字列を含んでいるので表示はテキスト形式にすること!
4、右下の[索引オプション]をクリック。
5、[フィールド「計算_ステータスと日数」」の索引オプション]ダイアログが表示。
[索引]の[計算結果を保存せずに必要時に再計算する]は初めから オンになている。
※これは「計算 _ 期限までの日数」がもともと非保存のフィールドなので、索引は使えない。だから初めから オンになっている。
データの計算の場合、索引オプションの設定で、データ更新が希望通り行われるかが変わってくる。注意したい👍
コメント