みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
https://fm-aid.com/bbs2/viewtopic.php?pid=8225
の関連です。よろしくお願いします。
日付、店、営業、ホテルの入るレコードがあります。
店と営業の組み合わせが同じならホテルも同じ場合が多いですので、
過去の記録からコピーさせたいと考えています。
日付>日付
営業=営業
店=店
で自己リレーションして参照したいのですがうまくいきません。
原因としては、レコードは日付分すべてを作成しているのですが、
営業さんが月末~月初にかけて1週間ほどまとまった休暇があるため、
店と営業の空白レコードが存在するためです。
空白以外の一番最後の記録を参照するにはどのようにすればよいでしょうか。
店と営業の組み合わせからホテルを取得したいだけなら、日付のリレーションキーは無くてもいいのではないでしょうか?
リレーションのソートオプションで日付を降順にしたら関連レコードの最初のレコードは日付が直近になります。
Last edited by 通りすがり (2014-04-03 14:26:13)
Offline
DB構造よく分かりませんが、こんなこと?
Let(
#店リスト=List(リレーション::店);
GetValue(#店リスト; ValueCount(#店リスト))
)
Offline
降順ソートで先頭をとるか
GetValue(List(::ホテル);1)
昇順ソートで最後をとる
Last(::ホテル)
ExecuteSQLがいいかも?
すみません、情報が不足していました。
テーブルは下記のようなものです。
●日程作成
日付
店
営業
ホテル
●日程(ポータル)※自己リレーション
日付>日付
営業=営業
店=店
※当日を含めないためリレーションに日付を含んでいます。
営業さんが(店に紐付く)ホテルに宿泊するのは当日ではなく前日のため、取得するのに難航しています。
つまりリレーションの店=店が間違っているのですが、ちょっとどうして良いかわかりません。
その「前日」は必ず1日前なのだから、前日フィールド(計算、日付-1)を作って、
前日=日付
営業=営業
のリレーションで右::ホテルを参照すれば前日のホテルがわかる。
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 512.13 KiB (Peak: 518.34 KiB) ]