FM10 出席簿2 終日の状況をつける

前回、出席簿入力の流れは次のように想定しました。
1.朝のうちに担任が「終日の状況」を入力する。
2.各授業で授業担当者が「実施授業」「出席状況」を入力する。
3.放課後に担任が全体のチェックを行い、出席簿を完成させる。

今回は1つめの「終日の状況」をつけるところを作ります。

0.トップページの整理と初期動作

機能が少しずつ増えてきたので、トップページの整理と校務支援システムを開いたときの初期動作を設定しておきます。

トップページのレイアウトには、ボタンを用意します。
ボタンをクリックすることで必要なレイアウトへ切り替わるようにします。
各ボタンは単一ステップかスクリプトかを設定します。
トップページのレイアウトはそのうちもう少し凝ったものにしていきます。

画像1

初期動作として「トップページのレイアウトにする」「年度別組番号のg年度を本年度にする」というスクリプトを作ります。
年度の計算は下のようにします。

If(Month(Get(日付))<4;Year(Get(日付))-1;Year(Get(日付)))

ファイル>ファイルオプションを開き、スクリプトトリガーを設定します。

画像3

画像4

1.テーブルオカレンス作成

まずはテーブルオカレンスを作成します。
主となるテーブルは「年度別組番号」です。
年度別組番号」と「終日の状況」をリレーションで結びます。
学番ー学番、g日付ー日付を結びます。

画像5

「=」記号のところをダブルクリックし「リレーションシップの編集」開きます。
右下にある「このリレーションシップを使用して、このテーブルでのレコードの作成を許可する」にチェックをいれます。
これにより、リレーションで結ばれた学番・日付のレコードが「終日の状況」になかったとしたら自動的にレコードが作成されるようになります。

画像6

年度別組番号」と「学籍」、「終日の状況」と「終日の状況の備考」をそれぞれ結びます。

画像7

リレーションの準備はこれで完了です。

2.レイアウト作成

次にレイアウトの作成を行います。
新規レイアウトで「出席簿一日分」を作成します。主となるテーブルオカレンスは先程作成した「一日分_年度別組番号」です。

ヘッダー部分にグローバルフィールドのg日付、g学年、g組を設置します。
ボディには番号、氏名、終日の状況、終日の状況の備考を設置します。

画像8

番号氏名はブラウザモードでの入力をできないようにチェックを外しておきます。

画像9

終日の状況はドロップダウンリストにします。

画像10

画像11

終日の状況の備考は終日の状況に合わせて値が変化するようなドロップダウンリストにします。
値の一覧に「終日の状況の備考」を作成し、「フィールドの値を使用」を選択します。「一日分_終日の状況の備考」の「備考」を選択し、「次のテーブルから関連するレコードの値のみ含める」で「一日分_終日の状況」を選択します。

画像12

これにより、「終日の状況」の値に合わせた備考が表示されます。

画像13

3.出席簿を開くボタン作成

次に出席簿を開くボタンを作成します。
ヘッダー部分の日付、学年、組を選択し、このボタンを押すと、選択したクラスの名列が表示され、その日の「終日の状況」が全員「出席」になるようにします。

スクリプトは次のようなものです。
1.ヘッダー部分の日付・学年・組が入力されていることをチェックする。
2.年度・学年・組で検索し、番号順にソートする。
3.終日の状況が空白の場合、「出席」と入力する。すでに入力がある場合はそのままにする。これを全員に繰り返す。

画像14

全員「出席」になっている状態から、欠席者の部分を変更していきます。

4.削除ボタン作成

次に間違えて「出席簿を開く」をしてしまったときのために削除ボタンを作成しておきます。

スクリプトは次のようなものです。
1.ヘッダー部分の日付・学年・組が入力されているかチェックする。
2.レイアウト「単独_出席簿_終日の状況」に遷移して、当該部分を削除する。
3.レイアウト「単独_出席簿_出席状況」に遷移して、当該部分を削除する。
4.レイアウト「単独_出席簿_実施授業」に遷移して、当該部分を削除する。

画像15

このスクリプトのために、単独_出席簿_***のテーブルオカレンスに必要なリレーションをつないでおきます。

画像16

ステップの3と4は実施された授業の登録とその出席状況を抹消するものです。

以上で終日の状況を作成することができました。

5.「出席簿一日分」へのボタンを作成

トップページから「出席簿一日分」へ遷移するスクリプトを作成します。
「出席簿一日分」は多くの教員が触ることを想定していますので、操作ミスが起きないようなものにします。

スクリプトは次のようなものです。
1.「出席簿一日分」へ遷移する。
2.ヘッダー部分の日付を本日にする。
3.ヘッダー部分の学年・組を空欄にする。
4.「全てのレコード表示⇒対象外のを表示」によって、ボディになにも表示されていない状態を作る。

画像2

特に、4ステップ目を入れることで、必ず「出席簿を開く」ボタンを押さなければ次に勧めない状態にしておきます。
この手法は他の場面でもよく使います。

今回は以上です。
次回は実施された授業の登録を行います。

<FM9 出席簿1 テーブルの構成 FM11 出席簿3 授業登録>

いいなと思ったら応援しよう!

mei
最後までお読みいただきありがとうございます。「スキ」をしていただけるととても励みになります。