繰り返し処理

制御 基本編

複数レコードを持つテーブルが対象で、1レコード毎に処理を行いたい場合には、「繰り返し」処理を使用します。
ここでは、受注データを顧客ごとに分けてCSVファイル形式で出力します。

プロジェクトファイル
(作成バージョン:8.0.20.0)
B110_variable.fgcp

1.プロジェクトを確認する

サンプルプロジェクトを開いてテーブルやページの確認を行います。

手順1-1.テーブルの確認

プロジェクトには2つのテーブルが存在しますが、今回はその両方を使用します。
これのテーブルは、エクスポートするCSVファイルのデータ元として使用します。

手順1-2.ページの確認

プロジェクトにはいくつかのページが用意されています。
今回使用するのは04_繰り返しページです。

2.パラメーターの作成

ナビゲーションウィンドウのサーバーサイドコマンドから「04_繰り返し」を開き編集します。

[パラメーター]タブを表示しパラメーター「受注月」を新規作成します。

3.変数を作成

[コマンド]タブを選択し2つの変数を作成します。

変数の設定コマンドを追加し、CSVの出力先フォルダを持つ変数「FilePath」を定義します。

次に変数の設定コマンドを追加し、受注テーブル内のデータを顧客ごとに処理するための変数「顧客」を定義します。
「顧客」の変数には、「顧客ID」と「顧客名」の2つのフィールドをパラメーターとして利用できるように定義します。

[クエリー]タブを表示し、「受注月」をパラメーター「受注月」で条件抽出します。

4.繰り返し処理を作成

繰り返しコマンドを追加し、受注月で条件抽出したテーブルデータのパラメーター「顧客」を使って繰り返し処理を作成します。

「繰り返し回数、または繰り返し配列」にパラメーター「顧客」を指定すると、受注テーブルから抽出したレコード数が繰り返しの回数になります。

繰り返し配列オブジェクト名

レコードのような複数のデータを持つパラメーター(配列型のパラメーター)を使って繰り返す場合、その繰り返し回しの対象となっている各レコードの値を参照できるのが「繰り返し配列オブジェクト名」です。
このオブジェクト名の既定値は「Item」となっており、例えば繰り返しの対象テーブル内の「顧客ID」フィールドの値を参照する場合は、「Item.顧客ID」のように指定します。

5.CSV出力処理を作成

CSVインポート/エクスポートコマンドを繰り返しコマンドの下に追加します。

処理の種類を「エクスポート」、対象テーブルを「受注テーブル」とします。

クエリー条件として以下の2つ設定します。

  • フィールド「[顧客ID]」、条件「=(等しい)」、値「=Item.顧客ID」
  • And/Or「And」、フィールド「[受注月]」、条件「=(等しい)」、値「=受注月」

また、出力先のパスには変数「FilePath」を使い、フルパスを設定します。

  • CSVファイルのパス「=FilePath&Item.顧客名&”.csv”」

サーバーサイドコマンドの作成を完了します。

6.ページからサーバーサイドコマンドを呼び出す

「04_繰り返し」ページ上を開きます。

「繰り返し」ボタンにサーバーサイドコマンドを呼び出すサーバーサイドコマンドの呼び出しコマンドを設定します。

パラメーターの「受注月」には「D2」セルを設定します。
また、サーバーサイドコマンドが正常に実行されたかを確認するため「リターンコードセル」にページ上のセルを指定します。

7.デバッグを実行

プロジェクトをデバッグ実行します。

手順4-1.デバッグを実行する

リボンの[ホーム]>[デバッグ]>[開始]ボタン、またはForguncy Builderの左上にある▶ボタンを押下してプロジェクトをデバッグ実行します。

作成したページがブラウザで表示されます。
顧客をコンボボックスから選択し、「条件抽出」ボタンをクリックします。
正常に実行されると、リターンコードセルに指定したセルに「0」が表示され、また、指定したフォルダ「c:\\fgc\export」に指定した顧客の受注データ(CSVファイル)が出力されていることを確認できます。

Forguncyのコマンドについてもっと知る

Forguncyの開発スタートガイドやオンラインヘルプでは、今回使用したコマンドについてより詳しくご紹介しています。
こちらもぜひご活用ください。

>ノーコードWebアプリ開発ツール「Forguncy」

ノーコードWebアプリ開発ツール「Forguncy」

Forguncy(フォーガンシー)は複数のシステムと直接接続して参照・更新が行えるデータ管理機能と、Excel感覚でレイアウトができる画面デザイン機能を備えたノーコードWeb開発&運用プラットフォームです。基幹システムでは対応できず、仕方なくExcelやAccessで管理していた業務のサブシステム化を強力に支援します。

CTR IMG