初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2023-12-06 15:21:41

IDEA
Member

期間の検索について

ご教示お願い致します。

勤続年数フィールドに勤続期間を計算式で下記のように設定しております。
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

#2 2023-12-06 15:38:07

チポ
Member

Re: 期間の検索について

そのフィールドはテキストになりますから、
範囲で検索するのはとても厄介です。

式のYMのままの数字タイプのフィールドを作り、
> 1年0カ月~2年0カ月
これを同じ形式にすれば検索できますね。


挙げられた計算式では、
月の大小を考えると正確とは言えないのでは。

例えば、
11/30~12/31
は0か月になりませんか?

Offline

#3 2023-12-06 15:44:34

IDEA
Member

Re: 期間の検索について

チポさん

ご教示頂きありがとうございます。
計算式もこちらのサイトで検索して参考にさせて頂いた計算式でして、、、。

検索をかけることを考慮すると
式のYMのままの数字タイプのフィールドを作る形が一番のぞましいのでしょうか?

Offline

#4 2023-12-06 15:47:23

Shin
Member

Re: 期間の検索について

上の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

#5 2023-12-06 16:00:37

チポ
Member

Re: 期間の検索について

数字タイプにすれば考えが簡単でしょう。

前回の
11/30~12/31
は0か月になりませんか

これは例が悪いですね
10/31~11/30
で考えてみてください。

Offline

#6 2023-12-06 17:41:19

IDEA
Member

Re: 期間の検索について

Shinさん
チポさん

的確な回答頂き、大変助かりました。
お陰様でやりたかったことが実現できました。
ありがとうございました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 509.3 KiB (Peak: 516.16 KiB) ]