フォーミュラエディターでは、フォーミュラを作成するために数々のショートカットが提供されます。フィールド名、演算子、コマンド、および任意のプロジェクトメソッドをクリックすると、それがフォーミュラに追加されます。項目をクリックすると、自動的にその項目が編集エリアに表示され、このエリアで標準のカット、コピー、ペースト機能を使用して修正を行うことができます。また、編集エリアに項目を直接入力したり、ドラッグ&ドロップを用いて項目を追加することも可能です。
フォーミュラエディターには次のようなエリアがあります:
- テーブルとフィールドのリスト: このエリアには、テーブルのフィールドが表示されます。リストの上にあるメニューを使用すると、表示されるフィールドを設定することができます。カレントテーブルのフィールド、リレートテーブルのフィールド、または全テーブルのフィールドが使用可能です。
注: 非表示設定されたテーブルやフィールドはリストに表示されません。テーブルやフィールドの非表示設定に関する説明は、テーブルプロパティおよびフィールドプロパティの"属性"項目を参照してください。 - 演算子リスト: 演算子リストを使用すると、フォーミュラで使用する演算子を選択することができます。演算子は、リストの上のメニューに表示されるテーマ別に分類されています:
各テーマには、データや処理のタイプに対応する使用可能な演算子が表示されます。例えば、代入演算子“:=”は、すべてのデータタイプで使用可能です。各演算子の説明は、次の項目を参照してください。 - コマンドリスト: コマンドリストには、フォーミュラ内で使用できる4D関数や、開発者が認可したプロジェクトメソッドが納められています。リスト上部にあるメニューを使用すると、テーマ別またはアルファベット順にコマンドを表示できます。このメニューに表示される4Dコマンドの説明は、4Dランゲージリファレンスマニュアルを参照してください。
フォーミュラで使用されるプロジェクトメソッドは、4Dコマンドである SET ALLOWED METHODS を用いて宣言しておかなければなりません。ただし、データベースのデザイナーと管理者にはあらかじめ、フォーミュラエディターにおいてすべてのコマンドとユーザーメソッドへのアクセス権が与えられています。このアクセス権はすべてのユーザーに対して無効に設定することもできます。これらのオプションはデータベース環境設定のセキュリティページにて設定できます。
次に、フォーミュラエディターで利用できる各種演算子について簡単に説明します。これらの演算子で実行できる機能に関する詳しい説明は、4Dランゲージリファレンスマニュアルの演算子の章を参照してください。
- 文字列演算子
A と B は文字列、N は数値です。
演算子 | 使用方法 | 説明 |
:= 代入 | A:=B | 値BをAに代入する |
+ 連結 | A+B | ABを返す |
* 反復 | A*N | 値AをN回繰り返す |
[[ ]] インデックス | [[A]]N | 値AのN桁目を返す |
"" 空の文字列 | "" | 一組のダブルクオートを挿入する |
- 数値演算子
XとYは数値です。
演算子 | 使用方法 | 説明 |
:= 代入 | A:=B | 値BをAに代入する |
+ 加算 | X+Y | X+Yの結果を返す |
- 減算 | X-Y | X-Yの結果を返す |
* 乗算 | X*Y | X*Yの結果を返す |
/ 除算 | X/Y | X/Yの結果を返す |
// 整数値を返す除算 | X//Y | X/Yの結果の整数部分を返す (XとYは整数でなければならない) |
% モジューロ | X%Y | X/Yの結果の余りを返す |
^ 指数 | X^Y | XのY乗を返す |
注: モジューロ演算子 (%) は倍長整数の範囲内 (-2^31から +2^31-1まで) の数値に関して有効数字を返します。この範囲外の数値のモジューロ演算を実行するには、Modコマンドを使用してください。
- 日付演算子
D1と D2は日付、N は数値です。
演算子 | 使用方法 | 説明 |
:= 代入 | D1:=D2 | 値D2をD1に代入する |
+ 日付の加算 | D1+N | D1+N日の結果を返す |
- -日付の減算 | D1-D2 | D1からD2までの日数を返す |
| または D1-N | D1-N日の結果を返す |
!//! 空の日付 | !00/00/00! | 空の日付を挿入する |
- 時間演算子
H1と H2は時間、N は数値です。
演算子 | 使用方法 | 説明 |
:= 代入 | H1:=H2 | 値H2をH1に代入する |
+ 加算 | H1+H2 | H1+H2時間の結果を返す |
| または H1+N | H1+N秒の結果を返す (夜の12時からの経過時間を秒数で表わす) |
- 減算 | H1-H2 | H1-H2の結果を返す |
| または H1-N | H1-N秒の結果を返す (夜の12時からの経過時間を秒数で表わす) |
* 乗算 | H1*N | H1*Nの結果を返す (夜の12時からの経過時間を秒数で表わす) |
/ 除算 | H1/N | H1/Nの結果を返す (夜の12時からの経過時間を秒数で表わす) |
// 整数値を返す除算 | H1//N | H1/Nの結果の整数部分を返す (夜の12時からの経過時間を秒数で表わす) |
% モジューロ | H1%N | H1/Nの結果の余りを返す |
?::? 空の時間 | ?00:00:00? | 空の時間を挿入する |
- 比較演算子
Z1と Z2は、文字列、数値、日付、または時間タイプです。
演算子 | 使用方法 | 説明 |
= 等号 | Z1=Z2 | Z1=Z2であればTrueを返す |
# 不等号 | Z1#Z2 | Z1#Z2であればTrueを返す |
> より大きい | Z1>D | Z1>Z2であればTrueを返す |
>= より大きいまたは等しい | Z1>=Z2 | Z1>=Z2であればTrueを返す |
< より小さい | Z1<Z2 | Z1<Z2であればTrueを返す |
<= より小さいまたは等しい | Z1<=Z2 | Z1<=Z2であればTrueを返す |
- 論理演算子
B1と B2はブールタイプでなければなりません (TRUE 式または FALSE 式)。
演算子 | 使用方法 | 説明 |
& かつ | B1 & B2 | B1がTrueでB2がTrueであれば、Trueを返す |
¦ または | B1 ¦ B2 | B1がTrueかB2がTrueであれば、Trueを返す |