テーブル上のフィールドを用いて、計算や文字列の操作をするForguncy独自のフィールドを作成できます。このフィールドは、実際にデータベースのテーブルに新しいフィールドが作成されるわけではなく、Forguncy内部でのみ保持するフィールドとなります。
これは数式フィールドと呼ばれ、数式や関数を使用して作成します。数式フィールドの計算処理はサーバー側(データベース側)で行われます。数式フィールドを使用せずに、ページ上のセルに数式を入力して計算や集計を行う方法もあります。その場合の計算処理はクライアント側(Webブラウザー側)で行われます。詳細は数式の使用を参照してください。
以下に数式フィールドを作成する例と、数式フィールドでサポートする演算子と関数を説明します。
テーブルを用意します。
この例では「姓」と「名」が入ったテーブルを用意し、この姓と名をつなげた名前を作成する数式フィールドを作成します。
参考:新しいテーブルの作成を参照してください。
ナビゲーションウィンドウでテーブル名を右クリックして[数式フィールドの追加]をクリックします。
ダイアログの「関数」ボックスに数式を入力します。「フィールド名」ボックスでフィールド名を指定します。
この例では、数式に次のように入力します。
[姓]&[名]
「フィールド名」ボックスには、テーブルに実際に存在するフィールドの他にForguncyが自動で生成したフィールドが表示されます。その中から該当するフィールド名をダブルクリックして「関数」ボックスに入力してください。
「&」は文字を連結する演算子で、手入力します。使用できる関数や演算子については、以降で詳しく説明しています。
[コメントの設定]をクリックすることでテキストボックスが表示され、数式フィールドにコメントが設定できます。コメントはナビゲーションウィンドウの数式フィールドに対してマウスオーバーすると、表示されます。
↓
「データ型」から、Forguncy内部でどのような型としてフィールドを扱うかを指定します。(任意)
「データ型」の設定は任意です。意図したデータ型にならない場合に利用することで強制的にデータ型を指定することができます。ただし、外部データベースではこの設定は利用できませんのでご注意ください。
ナビゲーションウィンドウのテーブルに数式フィールドが追加されていることを確認します。
ナビゲーションウィンドウに数式フィールドが表示されます。物理的にデータベースのテーブルに追加されているのでなく、あたかも追加されているかのようにForguncyでこの数式フィールドを使用できます。
数式フィールドを編集します。
数式フィールドを右クリックし、コンテキストメニューから[数式フィールドの編集]を選択します、もしくは数式フィールドをダブルクリックして[数式フィールドの編集]ダイアログを開きます。
↓
ページにリストビューを作成して数式フィールドに値が表示されることを確認します。
↓
算術演算子
算術演算子 | 内容 | 例 |
+ (正符号) |
加算 |
3+3 |
- (負符号) |
減算 |
3-1 |
* (アスタリスク) |
乗算 |
3*3 |
/ (スラッシュ) |
除算 |
3/3 |
文字列連結演算子
文字列演算子 |
内容 |
例 |
& (アンパサンド) |
2つの文字列を連結して、1つの連続する文字列の値を作成 |
("山田"&"太郎") |
かっこの使用
かっこを使用することで、計算順序を変更することができます。たとえば、次の数式では加算の前に乗算が実行されるため、結果として13が返されます。つまり、この数式ではまず5と2が乗算され、その結果に3が加算されます。
3+5*2
上の数式にかっこを使用して構文を次のように変更すると、まず3に5が加算され、その結果に3が乗算されるため、計算結果は24になります。
(3+5)*2
ブラケットの使用
[フィールド名]リストに表示されているフィールドは、フィールド名をブラケット [ ] でくくることで使用できます。たとえば、次の数式では「姓」と「名」という名前のフィールドの値が連結したものが出力されます。
[姓] & [名]
Excelの関数のうち、以下の関数を使用できます。
ABS |
ACOS |
ASIN |
ATAN |
ATAN2 |
CONCATENATE |
COS |
DATEDIF |
DAY |
DEGREES |
EXP |
FIND |
IF |
INT |
ISBLANK |
LEFT |
LEN |
LOG10 |
LOWER |
MID |
MONTH |
NOW |
PI |
POWER |
RAND |
RIGHT |
ROUND |
SIGN |
SIN |
SQRT |
TAN |
UPPER |
YEAR |
Forguncyの独自関数として、以下の関数を使用できます。
LTRIM |
文字列の先頭の半角スペースを取り除き、 取り除かれた文字列を返します。ExcelのTRIM関数と異なり、全角スペースは削除されません。 |
RTRIM |
文字列の末尾の半角スペースを取り除き、 取り除かれた文字列を返します。ExcelのTRIM関数と異なり、全角スペースは削除されません。 |