定員管理をしたい

学校をイメージしていただくとわかりやすいかと思います。

■アプリ名()内はフィールドコード

・クラスマスタ(クラスコード・使用教室)

【使用教室を教室マスタからルックアップ】

・教室マスタ(教室名・定員)

・受講マスタ(クラス名)

【在籍クラスをクラスマスタからルックアップ】

 

以上の構成です。なお、受講マスタの在籍クラスはサブテーブルで作成しております。

この状態で、定員管理を行いたいです。

受講マスタに登録されている同クラスコード数をカウントし、そのクラスの定員を教室マスタから引っ張り比較し、現状の差異を別アプリで表示させたいのです。

 

例えば、3人の受講者がいて、α教室が定員3名・β教室が定員4名だとして

Aさん ①クラス(α教室)と②クラス(β教室)

Bさん ①クラスと②クラス

Cさん ②クラス

の受講状況であれば

クラス名 在籍 定員 差

① 2 3 -1

② 3 3 0

のように表示できるアプリを作成したいということです。

コードは自分で書き上げたいのですが、どのような処理をすべきかわかりません。

ご教示ください。

 

 

輝 さん

受講マスタ(クラス名)のクラス名は、サブテーブルの在籍クラスと別物でしょうか。

また、カウントするクラスコードはサブテーブルに含まれているんでしょうか。

受講マスタの構成次第で、処理フローも変わってくると思います。

 

 

amuro 様

ご返信ありがとうございます。

受講マスタのクラス名はサブテーブルと同じものです。

受講マスタにはサブテーブルがあり、そこに受講しているクラス名を登録していく形です。

カウントするクラスコードはサブテーブルに含まれております。

輝 さん

ざっくり書くと、

  1. GETの一括取得で処理対象のレコードを取得する。

  2. 取得レコード数分、以下の処理を繰り返す。

  2-1. サブテーブルの件数分、以下の処理を繰り返す。

        2-1-1. クラスコードの集計

こんな感じですになるかと。

また、受講マスタの構成を変更できるなら、

データ項目を

教室名 (α教室)

クラス名 ①クラス

サブテーブル Aさん Bさん

の形にすれば、サブテーブルの行数 = クラスの参加者となり、集計の手間が省けると思いますよ。