【計算フィールド】設定方法
計算フィールドの「式」のフィールドに計算式を記述する事でデータベースのデータを使用して計算を行います。
- ■ 操作方法
-
- 計算に使用するデータベースをアクティブにします。
- [設定]-[データベースの定義]を選択すると、[属性データベース設定]ダイアログボックスが表示されます。
ここでは「地積表示」フィールドを計算フィールドとして設定します。
- フィールドをダブルクリックするか、リスト内のフィールドを選択し、<更新>ボタンを押すと、[属性フィールドの設定]ダイアログボックスが表示されます。
「計算フィールド」のチェックボックスをONにして、式フィールドに計算式を記述します。
- <>>>ボタンをクリックすると、[計算フィールドのヒント]ダイアログボックスが表示されます。
ここでは計算フィールドで使用できる関数や環境変数をテーブルから取り出し、作成する事が可能です。
- 計算式を設定し、[属性データベース設定]・[データベースの定義]ダイアログボックスの<OK>ボタンを押すと、指定したフィールドに計算結果が表示されます。
ここでは{地積1}フィールド(インデックス指定の場合は[1]とする)と{地積2}フィールドを100で割った値を合計した結果が{地積表示}フィールドに出力されます。
※計算結果を表示しているフィールドのセルをダブルクリックしてもデータの変更はできません(計算の元となるフィールドの値が変わると、自動で計算結果が変わります)。
- 計算フィールドの設定がされていて、構文解析が正常に終了している場合は、フィールドの状態を示すアイコンとして、以下のようなアイコンが表示されます。

計算フィールドが設定されていても、構文解析が正常に終了していない場合は、 アイコンが表示されます。
- ■ フィールドの指定について
- [計算フィールドのヒント]ダイアログボックスで、フィールドを指定する際、
と2種類の括弧で括られたフィールド名が表示されます。
「辞書引き」設定がされている場合、実データの値か参照先のデータにするか、括弧の種類で選択できます。
- 例えば、以下のようなデータベースがあるとします(「行政界2」フィールドに辞書引き設定あり)。
- 計算フィールドを設定します。括弧によって計算結果が異なるのが分かります。
- 「行政名表示{*}」フィールド:{行政界1}&{行政界2}
- 「行政名表示<*>」フィールド:{行政界1}&<行政界2>

- ■ 記述方法について
- ヘルプを参照して下さい。
- ■ 注意
-
- ヘルプにある記述方法以外の場合は、$以後の文字列で、プロセスに与えられたWindowsの環境変数を探し、見つかった場合はその値、そうでない場合はエラーとします。
- 計算結果の型は通常通りの指定が可能ですが、一般に意味のあるのは文字型、整数型、実数型です(長整数も可)。
- 「$DbPath」「$DbFolder」「$PrjPath」「$PrjFolder」は、それ単体では動作しません。
- DateTimeDiff()で切り捨てられたくない場合は、直接日付時刻型同士を除算し、実数型で表示します。
- 内部表現とは、実数型の数値です。数値は日付と時刻を実数型で表現した値で、単純に内部表現同士を引いた場合、その期間の数値が得られます。
- 「\」はエスケープ文字として扱われ、後続の文字が採用されます。
「"」がを扱いたい場合は 「\"」とします。
「\」自体を扱うには「\\」で\一個となります。
《例》下の計算フィールド「フルパス」では、"D:\\Sample\\画像\\"&<ファイル名>&".tif"としています。

【計算フィールド】使用例(1) 様々な使用例 「■ 例-4等」
- 文字列の「文字数」は半角全角関係なく、文字数です。
- 計算フィールドの最大長は、デフォルトで1023ですが、pcm.iniファイルに追加記述する事で、最大16000までの値を指定できます。
Pcm.iniファイル②「■ 計算フィールドの最大長を指定する」
- スタックは256までです。
スタックとは、計算式を順に処理していく上で必要となるバッファーで、その最大が256までです。
例えば(a+b)*cでは、a+bで1つ、*cで1つの計2つのスタックが必要です。
- ■ エラー
- 一般に書式異常、未定義の変数、関数、ゼロ割など、計算処理できない時は文字列としては ""(空文)、数値としては0にして返します。
|