みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
環境
FileMakerPro19&Server
OS:Windows10
指示書のテーブルに、
以下のフィールドを設けています。
「指示書No」...レコード作成時に順にユニークな数を自動入力
「納品日」...希望日入力
「リピート元No」...以前作った指示書と同じものをリピート注文する際、その元になった指示書のNoを入力
「データ保存期限」...原則的に「納品日」の2年後の日付となるが、リピートがあった場合、そのリピートの「納品日」起算の2年後の日付にしたい
この「データ保存期限」には、どのような計算式を入れれば良いでしょうか?
レコードをまたがる検索となる?!と未経験でわかりません(そもそも出来るのかも)。
ご教授お願いできますでしょうか?
宜しくお願い致します。
Offline
リピートが複数回ある場合はどう考えますか?
Offline
チポさん
都度都度の前回の指示書Noを入れていってもらおうかと思っています。
Offline
加えて、指示書Noを入力された指示書では、「データ保存期限」を空欄にしたいと思っています。
そうすれば、指定した日付で検索をかければ、どのデータを削除してよ良いかが一覧で出せると考えています。
Offline
あれ、読み違えているか?
> 「データ保存期限」...原則的に「納品日」の2年後の日付となるが、
> リピートがあった場合、そのリピートの「納品日」起算の2年後の日付にしたい
初回、リピート
とあった場合のデータ保存期限は
初回の期限をリピートが継ぐのでしょうか
もしそうなら、
リピート2は?
Offline
>初回、リピート
>とあった場合のデータ保存期限は
>初回の期限をリピートが継ぐのでしょうか
リピート時は、初回の期限は引き継ぎません。リピート時の納品日起算2年後に変更、
初回の指示書のデータ保存期限は空欄、としたいです。
リピート2となった場合、リピート2の納品日起算2年後に変更、
2回目の指示書のデータ保存期限は空欄、としたいです。
要は、2年間以内にリピートかかれば都度最新の指示書ベース2年後までデータは取っておく。
2年以上次の指示書がなければデータを削除する。
と言う風にさえできれば良いのです。
これを実現するために考えたのが、この方法でしたが、
根本的にもっと簡単に行う方法があれば、こだわりはございませんので、
そちらを教えていただければと思います。
Offline
ならば、
初回でも、リピートでも
そのレコードの納品日で起算すればいいということですよね。
で、
リピートがある場合は初回のレコードの期限を空白にする。
ですよね。
リピートの有無は
指示書Noとリピート元No
で自己リレーションし、
指示書Noの方から見て関連レコードが有ればリピートがある
ということですね。
期限を過ぎたから、そのレコードは削除
はお勧めできませんネ
Offline
ならば、
初回でも、リピートでも
そのレコードの納品日で起算すればいいということですよね。
で、
リピートがある場合は初回のレコードの期限を空白にする。
ですよね。
リピートがある場合は、初回および、その後最新のリピートの手前までは空白にしたいです。
(そこまでに日付が入ってしまうと、その日にデータを消さないといけない事になってしまう為)
リピートの有無は
指示書Noとリピート元No
で自己リレーションし、
指示書Noの方から見て関連レコードが有ればリピートがある
ということですね。
そうですね。
自己リレーションですか。
なるほど、なのですが、複数回のリピート時などどのように設定すれば良いのかわかりません(汗)。
期限を過ぎたから、そのレコードは削除
はお勧めできませんネ
はい、それはもちろん、そうだと思います。
別途「削除済」かなにかのフィールド作って、チェックを入れないと消えない様な設定にしたいと思います。
Offline
伝票を1枚ずつに見るので、面倒なんですよ。
指示書1枚で、1品目だと思いますが、発注者と品目で自己リレーションしておき、その最新の指示日をみて、それが2年以上だと表示しない、という動きを作ればいいのでは。
2年経てば削除、という運用は、私も賛成しません。
Offline
伝票を1枚ずつに見るので、面倒なんですよ。
指示書1枚で、1品目だと思いますが、発注者と品目で自己リレーションしておき、その最新の指示日をみて、それが2年以上だと表示しない、という動きを作ればいいのでは。
発注者と品目で自己リレーションしました。
「その最新の指示日をみて、それが2年以上だと表示しない」と言うのは、具体的にどのようにすればよいのでしょうか?
2年経てば削除、という運用は、私も賛成しません。
すみません、今更気づきましたが削除と言うのは、レコードを削除すると言う事ではなく、この日付に基づき保存していた実物のaiデータを削除すると言う事でした。誤解させてしまい、申し訳ありません(汗)。
Offline
そのリレーションを使って、 Max ( リレーション::指示日 ) を求めます。それが最新の指示日です。
Offline
> 都度都度の前回の指示書Noを入れて
こう書かれていますから、
例を挙げると
指示書No リピート元No データ保存期限
初回 123 空 リピート1の時点で空
リピート1 234 123 リピート2の時点で空
リピート2 345 234 24/02/22(このレコードの納品日の2年後)
↑
(これは初回の123ではないですよね?)
でいいんですよね?
ならば、#7のレスの通りでいいでしょう。
Offline
Shinさん、チポさん、
お二方に教えいただいた両方の方法、実現できました!
おかげさまで、自己リレーションについて、少し理解が深まったと思います。
ありがとうございました!
Offline
Pages: 1
[ Generated in 0.017 seconds, 9 queries executed - Memory usage: 550.55 KiB (Peak: 571.09 KiB) ]