テーブル上のフィールドを用いて、計算や文字列の操作をする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関数と異なり、全角スペースは削除されません。 |