みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもありがとうございます。
今回は少し複雑なのですがどうしたらいいのかわからず質問いたします。
例えば生徒が30人いたとして、
テーブルA
名前 科目 テスト点数 実技点数 授業点数 評価
A 美術 6 8 6
A 数学 9 8 3
B 国語 6 9 9
…
という、生徒の科目ごとに評価するポイントが3つあるのがずらっと並んでいるテーブルがあり、
テーブルB
科目 評価基準
美術 テスト点数>6 かつ 実技点数>8 かつ 授業点数 >7 の場合の評価=「優秀」、4<テスト点数=<6 かつ 4<実技点数<8 かつ 5<授業点数=<7 の場合の評価=「普通」、それ以外「頑張れ」
数学…
というような複数の条件で出る式が入るテーブルがあり
(これはそもそも可能かのか、というところや他にいいテーブル作成があるのかというところからご相談したいです)
テーブルAに科目・テスト点数・実技点数・授業点数を入れたら評価が自動で入力される、という事をしたいです。
テーブルA
名前 科目 テスト点数 実技点数 授業点数 評価
A 美術 6 8 6 「優秀」
A 数学 9 8 3「普通」
B 国語 6 9 9「頑張れ」
…
みたいな…(上の評価は、実際のテーブルBの式は反映していません、このように出したいということです)
テーブルAの評価に計算式を全科目分入れる?と考えたのですが現実的ではないので、
テーブルAの科目を見ると、その式を変数か何かで絞り込み、3つの点数をその式に当てはめ、そこから結果を出力し、評価フィールドに入力する。
そのような事をしたいのですが、どうしたらいいでしょうか…?
Last edited by reikubo (2018-07-23 11:55:15)
Offline
テーブルBの構成を以下に調整変更します。
【テーブルB】
科目 評価基準関数式
美術 ※下記文字列式
"Case(
テスト点数>6 and 実技点数>8 and 授業点数>7; ""優秀"";
(テスト点数>4 and テスト点数=<6) and (実技点数>4 and 実技点数<8) and (授業点数>5 and 授業点数=<7); ""普通"";
""頑張れ""
)"
数学 ※文字列式 "Case(・・・・・・・・)"
科目をキーにテーブルAとテーブルBでリレーションを張る。
テーブルAの評価を下記式の計算フィールドとして、関連の評価基準関数式から評価をEvaluateで算出してお終い。
Evaluate(テーブルB::評価基準関数式)
Offline
上の条件式は、変ですよ。7, 7, 7 の場合、頑張れ になりますが、それでいいのですか。
4<テスト点数 かつ 4<実技点数 かつ 5<授業点数 の場合の評価=「普通」
となるのでは。
閾値をコントロールする方法は、テーブルでもいいでしょうし、閾値を Choose() で選んでもいいでしょうね。メンテナンスの頻度で考えればいいです。
Offline
Hiroさん
ありがとうございます!
Evaluate関数なんですね!これで試してみます!
いつもありがとうございます〜!
Shinさん
すいません、その条件式は若干適当でして…本筋とはずれているので気になさらずいただければ…汗
要するにフィールドとマッチする科目に計算式自体を引っ張って評価ができるのか!?ということでした!
いつも質問確認していただいて助かっています。ありがとうございます!
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 508.27 KiB (Peak: 514.98 KiB) ]