今いろいろ修正した結果、
個人点数管理テーブルに新しく計算フィールドを作って直接試験場所をいれるようにしました。
あまりフィールドを増やしたくなかったのですが、、、仕方ないのでこれで行こうと思います。
でもなぜそういう仕様?になっているのかが疑問です。
できそうな感じするんですが、そのような仕様にすると何が都合わるいんですかね。
ありがとうございました!
]]>計算フィールドの計算式
個人点数管理テーブル :: 試験場所ID
としてこのフィールドと試験場所テーブルの試験場所IDとでリレーションすれば
試験場所名を参照できます。
ただし、
最終試験のレコードが追加されると、
IDテーブルでの表示を変えるには再表示の方法を考えないとダメかも。
例えば、
個人IDを全置換で入力し直すなどして再照合させるなど。。
個人点数管理テーブル :: 試験場所ID
↑これでIDは取れます。
説明不足でごめんなさい。
そのIDでさらにリレーションさせて、結果的には以下のように
個人(ID) (個人名)
最新試験結果(点数)
最終試験場所(場所名)
を表示させ、場所名取得して別のことで計算式に引用したいのです。(表示だけならポータルで事足ります)
場所IDではなくて、場所名をひっぱってきたいですが。。。
こんな場合は個人点数管理テーブルの各レコードに場所名も保存しないといけないのでしょうか?
]]>個人点数管理テーブル :: 試験場所ID
でいいでしょう。
さて、質問ですが
ID ○番の人が最新の試験で取った点数 ←ここまでは取得できました。
ID ○番の人が最新の試験を受けた場所 ←これがうまく取得できません。
リレーションは
IDテーブル=個人点数管理テーブル=試験場所テーブル
個人ID=個人ID
試験場所ID=試験場所ID
IDテーブル
個人IDフィールド
個人名フィールド
個人点数管理テーブル
個人IDフィールド
点数フィールド
受験日フィールド
試験場所IDフィールド
試験場所テーブル
試験場所IDフィールド
試験場所名フィールド
各リレーションはそれぞれのIDで=で結んでいます。
最新の試験結果を取得するために、
IDテーブル=個人点数管理テーブルの個人点数管理テーブルは受験日を降順でソートにリレーションの画面で設定。
このような設定状態で、最初に書いたように、最新試験結果は問題なく取得できるのですが、
その試験場所を取得しようとすると最新試験場所ではなく、その人が受験した最古の試験場所が取得されてしまいます。
何が悪いのか行き詰ってしまいました。
このようにリレーションを通り越して取得するような場合は、
通過する?リレーションでのソート設定は反映されないのでしょうか?
8adv winです。
]]>