テーブル上のフィールドを用いて、計算や文字列の操作をするForguncy独自のフィールドを作成できます。このフィールドは、物理的にデータベースのテーブルに新しいフィールドを作成するわけではなく、Forguncy内部でのみ保持するフィールドとなります。
これは数式フィールドと呼ばれ、数式や関数を入力できます。数式フィールドの計算処理はサーバー側で行われます。数式フィールドを使用せずに、セルに数式を使用することもできます。その場合の計算処理はクライアント側で行われます。
以下に数式フィールドを作成する例と、数式フィールドでサポートする演算子と関数を説明します。
1 テーブルを用意します。
この例では「姓」と「名」が入ったテーブルを用意し、この姓と名をつなげた名前を作成する数式フィールドを作成します。
2 ナビゲーションウィンドウでテーブル名を右クリックして[数式フィールドの追加]をクリックします。
3 ダイアログの「関数」ボックスに数式を入力します。「フィールド名」ボックスでフィールド名を指定します。
この例では、数式に次のように入力します。
[姓]&[名]
「フィールド名」ボックスには、テーブルに実際に存在するフィールドの他にForguncyが自動で生成したフィールドが表示されます。その中から該当するフィールド名をダブルクリックして「関数」ボックスに入力してください。
「&」は文字を連結する演算子で、手入力します。使用できる関数や演算子については、以降で詳しく説明しています。
4 「データ型」から、Forguncy内部でどのような型としてフィールドを扱うかを指定します。(任意)
「データ型」の設定は任意です。外部データベースを使用する場合、Forguncyが備えるデータ型と外部データベースが備えるデータ型が違った場合に、自動的にデータベースから値を取得する際に正しい値が取得できない場合があります。そのような場合に、Forguncy内部でどのような型で扱うかを明確に指定することで、正しい値を取得できます。
5 ナビゲーションウィンドウのテーブルに数式フィールドが追加されていることを確認します。
ナビゲーションウィンドウに数式フィールドが表示されます。物理的にデータベースのテーブルに追加されているのでなく、あたかも追加されているかのようにForguncyでこの数式フィールドを使用できます。
6 ページにリストビューを作成して数式フィールドに値が表示されることを確認します。
↓
●算術演算子
算術演算子 | 内容 | 例 |
---|---|---|
+ (正符号) |
加算 |
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関数と異なり、全角スペースは削除されません。 |