初心者にもわかるファイルメーカーの
使い方

SQL文について(2-2)

2020-04-01 |  

こんにちは、服部です。
今回は前回の続きから説明させていただきます。

前回はSQL文を取得したところで終わりましたので、今回はそれ以降の説明をしていきたいと思います。
前回は下図のものを取得して終わりました。

ここからLoop文で消費税と税込金額の取得を行なっていきたいと思います。
まずはこの情報を一度分解しなければ消費税などの計算が行えないため、Loop文内で分解を行います。その際に気をつけなければいけないことですが、まずLoop文を作成する際にLoopを抜けるための条件が必要になってきます。

ここからは下図の情報を元に進めていきます。
今回、抜ける条件として取得したレコード数($レコード数)がLoopの回った回数($cnt)を利用しております。
$レコード数よりも$cntの回数が上回った場合にLoopが抜けるよう「Exit Loop If」内を設定しました。
この設定を行なっていないと、いつまでもLoopから抜けられず、スクリプトが終わらないので絶対に忘れないようにお願いします。(意外と書き忘れたりすることがあるので本当に注意が必要です。)
$レコード数はSQL文にて取得してきた値の行数でいくつレコードを取得してきたのかを返してくる変数になっております。

分解の方法ですが、$商品情報で1レコードの情報を抜き出し、それをそれぞれの変数に割り振っています。
その際に必要になってくるのが「$cnt」です。
$cntですが、これはLoopの回った回数以外にも、今回なら現在何レコード目かと言う値にもなるためです。
なので$商品情報の値取得を文字で説明しますと、
「$SQL(商品情報)の$cnt行目を取得し、その値に入っている「|」の文字を改行にしてほしい」となります。
これをそれぞれ$商品情報の真下で分解を行なっております。

そしてその情報をもとにスクリプト内
#消費税、税込金額の計算
の下部分で計算を行います。

今回は消費税などの計算を行いました。
その内容などをグローバル変数である$$VLに表示したい順番通りに並べ、レイアウトもそのように作成していけば出来上がります。

下図は$$VLの内容となっております。