みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております。
不定期で営業していて1営業日1レコードとします、5営業日前の日付はどのように求めれば良いでしょうか?
現状リレーションで日付>日付で自己リレーションを張り降順でソートし
GetValue ( List ( 日付 ) ; 5 )
で良いかなとも思うのですがレコードが多い場合など無駄な計算をさせている気がします。
良い方法ありましたらご教授宜しくお願い致します。
(GetNthRecordはレイアウトに依存させないため使いたくないです)
MacOS FM18
Offline
GetNthRecordはリレーションに依存しますがレイアウトには依存しませんよ?
himadanee様、返信ありがとうございます。
申し訳ありません。
レイアウトに依存ではなくソート状態に依存でした。
値の更新をする際にソートを気にしたくないので。
宜しくお願い致します。
Offline
関連レコードのソート状態はリレーションに定義されてるものなので、画面上のソート状態とは別です。
他の用途で現在のリレーションをソートしたくないなら、この取得専用のリレーションを別に定義すればいいです。
とはいえ、大量レコードのソートに時間がかかるのは確かですから、日付>日付だけでなく1か月分に限定するとかした方が速くなるかも?
別のアイデアとしては、While関数で5件得るまで1日ずつレコードがあるかチェックする計算式にすれば、リレーションは不要です。
> 1営業日1レコード
ですから、
50年前からでもレコード数18000程度ですよ。
そんなに気にするレベルではないでしょう。
あえて、なら、、
目的の日付のフィールドを入力値の自動化にすれば一番負荷が少ないのでは。
Offline
himadanee様、返信ありがとうございます。
仰るとおりリレーション先の参照はソート状態固定されているので問題ありませんでした。
(何となくでGetNthRecordを避けていて思慮不足でした)
ご教授ありがとうございます。
チポ様いつも教えて下さりありがとうございます。
確かに1万レコードもないのでスピードは気にならないのでGetValue とListで求めたいと思います。
ご教授ありがとうございました。
Offline
Pages: 1
[ Generated in 0.020 seconds, 9 queries executed - Memory usage: 511.63 KiB (Peak: 518.75 KiB) ]