繰り返し処理

110‐04 制御| 基本編

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

プロジェクトファイルB110_variable.fgcp

パラメーターの作成

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

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

変数を作成

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

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

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

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

繰り返し処理を作成

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

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

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

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

CSV出力処理を作成

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

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

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

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

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

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

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

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

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

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

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

結果を確認

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

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

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

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

CTR IMG