PickUp Forguncyの使い方 コマンド(command)

コマンド 変数の設定-Forguncy(フォーガンシー)

【コマンド】変数の設定-Forguncy(フォーガンシー)

Excelライクなノーコードプログラミングツール「Forguncy(フォーガンシー)」。 今回は、変数の設定についてご紹介したいと思います。

Forguncyでは、固定値や数式、データベースの値を変数として設定することが可能です。

設定した変数は、後続のコマンドで使用することができます。

※ただし、変数名はセル名とは別の名前を設定してください。


■コマンドの設定

変数の設定画面

①変数名:後続のコマンドで使用する際の変数名を設定します。

②変数値:「値、または数式」または「データベースのテーブルを参照」どちらかを選択します。

・値、または数式・・・固定値または数式を使用することができます。

・データベースのテーブルを参照・・・データベースから取得したデータを使用することができます。

③「値、または数式」を選択した場合、固定値や数式を設定します。



■値、または数式

以下の生徒テーブルに、生徒情報を登録します。

生徒テーブル画面

生年月日を、中学1~3年生の年齢相当のみ登録できるようにします。


参考

中学1~3年生の生年月日:本年度より15年前の4/2~本年度より12年前の4/1

(本記事では、本年度=2024年度になるため、2009/4/2~2012/4/1生まれが対象年齢になります)

生徒情報の登録画面

対象の生年月日を設定します。

・変数名:”生年月日_From"、数式「=DATE(YEAR(EOMONTH(TODAY(),-3))-15,4,2)」

・変数名:”生年月日_to"、数式「=DATE(YEAR(EOMONTH(TODAY(),-3))-12,4,1)」

対象の生年月日変数の設定画面
対象の生年月日変数の設定画面②

対象の生年月日以外を入力した場合、エラーを表示させるコマンドを入れて、アプリケーションを実行します。

対象の生年月日以外を入力時のエラー表示コマンド設定画面
正しい生年月日を入力したときの画面

■データベースの値を参照

変数名を設定する画面

上述のように、変数名を設定します。

①対象テーブル・・・取得元のテーブル名を選択します。

②「選択」タブ・・・単一フィールド、単一レコード、複数レコード、レコード数のいずれかを選択します。

③「クエリー」「先頭レコード」「並べ替え」タブ・・・「選択」タブで選択したフィールド、レコード(数)を取得するための条件を設定します。


1、単一フィールド、単一レコード

「クエリー」「先頭レコード」タブから、1レコードのみ取得できる条件を設定します。

単一フィールドの場合は、1フィールド、単一レコードの場合は、複数フィールド(全フィールドも可)を選択します。


①変数名、対象テーブル、取得したいフィールドを選択します。

※今回は、生徒テーブルから生徒番号の最大値を取得します。

②右ペイン「ページロード時のコマンド」から、

単一フィールド[生徒番号]を選択し、「取得する先頭レコードの数」:1、「並べ替え」:[生徒番号]の降順を設定します。

生徒番号の最大値を取得する設定画面

③生徒番号セル(L8セル)に、①で取得した生徒番号の最大値(max_生徒番号)に1を足した生徒番号をセットします。

生徒番号の最大値に1を足した生徒番号をセットする画面

アプリケーションを実行します。

生徒番号の最大値(00007)に1を足した"00008"がセットされています。

アプリケーション実行後の画面
単一レコードを選択した場合の補足

2、複数レコード

「クエリー」「先頭レコード」タブから、複数レコード取得できる条件を設定します。

設定した変数は、後続のコマンドで配列型の変数として使用します。

※今回は、本年度(2024年度)、クラステーブルの[学年]フィールド="3"の生徒で生徒テーブルの[在籍状況]が"在学中"の生徒の[在籍状況]を、"在学中"から"卒業"に更新します。

[在籍状況]を在学中から卒業に更新する設定画面

①1と同様に、変数名、対象テーブル、取得したいフィールドを選択します。

②クラステーブルから複数レコード[生徒番号]を選択し、「クエリー」タブから[学年]フィールドが"3"、

[年度]フィールドが本年度("=YEAR(EOMONTH(TODAY(),-3))")を設定します。

[在籍状況]を在学中から卒業に更新する設定画面②

③繰り返しコマンドの「指定した回数分だけ繰り返し処理を行う」を選択し、②で設定した配列型変数”卒業"を選択します。

「繰り返し配列オブジェクト名」は"Item"(規定値)なので、後続のサブコマンドでは"Item.生徒番号"という名前で[生徒番号]の値を取得することができます。

[在籍状況]を在学中から卒業に更新する設定画面③

④繰り返しコマンド内で、テーブルデータの更新を選択します。

生徒テーブルの[在籍状況]フィールド:卒業、

更新対象レコード:特定レコード([生徒番号]="Item.生徒番号"、[在籍状況]="在学中")を設定します。

[在籍状況]を在学中から卒業に更新する設定画面④

アプリケーションを実行します。

アプリケーションを実行後の画面

3、レコード数

対象テーブルのレコード数を取得します。(「クエリー」タブから条件を設定し、レコードを絞り込むこともできます)

※今回は、本年度(2024年度)、クラステーブルの[学年]フィールド="3"以外の生徒数をカウントし、1件以上あった場合、次年度(2025年度)、[学年]="2"または"3"のレコードとして追加します。(クラス、出席番号はそのままとします)

対象テーブルのレコード数を取得する設定画面

①変数名、対象テーブルを設定し、「選択」タブから「レコード数」を選択し、

「クエリー」タブから[年度]フィールドが本年度、[学年]フィールドが"3"以外、[在籍状況]=”在学中”のレコードを設定します。

対象テーブルのレコード数を取得する設定画面②

②①で設定した変数"在校生_生徒数"が1件以上あった場合、

[年度]フィールド=本年度、[学年]フィールド="3"以外、[在籍状況]=”在学中”の年度、学年、クラス、出席番号、生徒番号を取得します。

対象テーブルのレコード数を取得する設定画面③

③繰り返しコマンドで、②で設定した配列型変数"生徒情報"を設定します。

サブコマンド内で、クラステーブルに[年度]=次年度、[学年]=現在の学年+1のデータを追加します。

対象テーブルのレコード数を取得する設定画面⑤

アプリケーションを実行します。

アプリケーション実行後の画面