数式フィールドを作成する

テーブル上のフィールドを用いて、計算や文字列の操作をするForguncy独自のフィールドを作成できます。このフィールドは、物理的にデータベースのテーブルに新しいフィールドを作成するわけではなく、Forguncy内部でのみ保持するフィールドとなります。
これは数式フィールドと呼ばれ、数式や関数を入力できます。数式フィールドの計算処理はサーバー側で行われます。数式フィールドを使用せずに、セルに数式を使用することもできます。その場合の計算処理はクライアント側で行われます。

以下に数式フィールドを作成する例と、数式フィールドでサポートする演算子と関数を説明します。

数式フィールドの作成

1 テーブルを用意します。

この例では「姓」と「名」が入ったテーブルを用意し、この姓と名をつなげた名前を作成する数式フィールドを作成します。

note
..\..\Media\pict-note.png

新しいテーブルを作成する を参照してください。

 

2 ナビゲーションウィンドウでテーブル名を右クリックして[数式フィールドの追加]をクリックします。

 

3 ダイアログの「関数」ボックスに数式を入力します。「フィールド名」ボックスでフィールド名を指定します。

この例では、数式に次のように入力します。
    [姓]&[名]
「フィールド名」ボックスには、テーブルに実際に存在するフィールドの他にForguncyが自動で生成したフィールドが表示されます。その中から該当するフィールド名をダブルクリックして「関数」ボックスに入力してください。
「&」は文字を連結する演算子で、手入力します。使用できる関数や演算子については、以降で詳しく説明しています。

4 「データ型」から、Forguncy内部でどのような型としてフィールドを扱うかを指定します。(任意)

「データ型」の設定は任意です。外部データベースを使用する場合、Forguncyが備えるデータ型と外部データベースが備えるデータ型が違った場合に、自動的にデータベースから値を取得する際に正しい値が取得できない場合があります。そのような場合に、Forguncy内部でどのような型で扱うかを明確に指定することで、正しい値を取得できます。

5 ナビゲーションウィンドウのテーブルに数式フィールドが追加されていることを確認します。

ナビゲーションウィンドウに数式フィールドが表示されます。物理的にデータベースのテーブルに追加されているのでなく、あたかも追加されているかのようにForguncyでこの数式フィールドを使用できます。


6 ページにリストビューを作成して数式フィールドに値が表示されることを確認します。


  ↓

サポートする演算子と関数

●算術演算子

算術演算子 内容

+ (正符号)

加算

3+3

- (負符号)

減算
負の数

3-1
-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関数と異なり、全角スペースは削除されません。