みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ご教示お願い致します。
勤続年数フィールドに勤続期間を計算式で下記のように設定しております。
Let (
YM = Int ( Year ( Get ( 日付 ) ) * 12 + Month ( Get ( 日付 ) ) + Day ( Get ( 日付 ) ) / 100 - Year ( 雇入日 ) * 12 - Month ( 雇入日 ) - Day ( 雇入日 ) / 100 );
Div ( YM ; 12 ) & "年" & Mod ( YM ; 12 ) & "ヶ月" )
検索モードで例えば勤続年数フィールドで
1年0カ月~2年0カ月までのレコードを検索したい場合はどのように検索条件を設定すればよろしいでしょうか?
Offline
そのフィールドはテキストになりますから、
範囲で検索するのはとても厄介です。
式のYMのままの数字タイプのフィールドを作り、
> 1年0カ月~2年0カ月
これを同じ形式にすれば検索できますね。
挙げられた計算式では、
月の大小を考えると正確とは言えないのでは。
例えば、
11/30~12/31
は0か月になりませんか?
Offline
チポさん
ご教示頂きありがとうございます。
計算式もこちらのサイトで検索して参考にさせて頂いた計算式でして、、、。
検索をかけることを考慮すると
式のYMのままの数字タイプのフィールドを作る形が一番のぞましいのでしょうか?
Offline
上のYMをそのままもたせるフィールドを作っておけば簡単ですよ。
または、
Let (
[
YM0 = Int ( Year ( Get ( 日付 ) ) * 12 + Month ( Get ( 日付 ) ) + Day ( Get ( 日付 ) ) / 100 ;
YM1 = Year ( 雇入日 ) * 12 + Month ( 雇入日 ) + Day ( 雇入日 ) / 100 ) ;
YM = Int ( YM1 - YM0 )
] ;
Div ( YM ; 12 ) + Mod ( YM ; 12 ) / 100
)
という式にしておき、書式で、小数点を "年"、単位で "月" にしておくと同じ拗に見えますが、数字として扱えますので、12...23.11 という条件で献策ができるようになります。
Last edited by Shin (2023-12-06 18:10:58)
Offline
数字タイプにすれば考えが簡単でしょう。
前回の
11/30~12/31
は0か月になりませんか
これは例が悪いですね
10/31~11/30
で考えてみてください。
Offline
Shinさん
チポさん
的確な回答頂き、大変助かりました。
お陰様でやりたかったことが実現できました。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.006 seconds, 8 queries executed - Memory usage: 511.4 KiB (Peak: 515.94 KiB) ]