みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
日付が変わるごとに連番がリセットされるテーブルを作成したいです。
フィールド1:日付[今日の日付を自動入力]
フィールド2:連番[001~,日付が変わるごとに連番リセット]
これを全て自動入力させるにはどうしたらよいでしょうか?
Offline
Offline
ご回答ありがとうございました。
このリンク先のQAで書いてあることについて
計算式がそれぞれ、
計算用フィールド:Year ( 日付 ) * 10000 + Month ( 日付 ) * 100 + Day ( 日付 )
連番フィールド:Case ( not IsValid ( 計算用フィールド ) ; "00" ; SerialIncrement ( "01" ; Max ( 連番フィールド) ) )
ということでよろしいのでしょうか?
Offline
リンク先、わたくしのレスですが、手抜きでしたね ;;;
欲しいのは連番だけですから、
日付でリレーションして、
入力値の自動化・計算値で既存値置き換え・式内の全フィールドの値が空欄のとき計算しないのチェックを外して
SerialIncrement ( "001"; Max ( 自己リレーション::連番 ) )
日付フィールドが入力値の自動化で入力されますから、
空欄かの判定は不要になりますね。
Offline
ありがとうございました!
参考にさせていただきましたところ、連番フィールドの計算式を
SerialIncrement ( "001"; Max ( 自己リレーション::連番 ) )
としたら、なぜか最初だけ自分で「001」などを入力しないと連番にならなかったため
Case ( not IsValid ( 自己リレーション::連番 ) ; "001" ; SerialIncrement ( "001" ; Max (自己リレーション::連番 ) ) )
としたら完全に最初から自動で001~入力されるようになりました。
Last edited by tkn_ik (2020-10-02 12:00:03)
Offline
> 式内の全フィールドの値が空欄のとき計算しないのチェックを外して
これ、しましたか?
Offline
チェック外してなかったみたいです。
失礼しました。
外したら
SerialIncrement ( "001"; Max ( 自己リレーション::連番 ) )
のみの計算でできました。
Offline
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 512.14 KiB (Peak: 518.47 KiB) ]