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

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

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

You are not logged in.

Announcement

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


#1 2019-02-04 17:34:12

きっさん
Member

1ヶ月後の日

Windows 10 Pro 64bit
FMP 17

開始日:日付
1ヶ月後:計算:非保存:Date(Month(開始日) + 1 ; Day(開始日) - 1 ; Year(開始日))  計算結果:日付

とすれば、開始日から1ヶ月後で1日を差し引いた日付が計算されるのですが、開始日が1月30日、31日の場合、1ヶ月後が3月1日、3月2日となってしまいます。
開始日が1月30日、31日の場合は、1ヶ月後が2月28日、閏年は2月29日となるように設定したいのですが、その方法で詰まってしまいました。
ご教示、お願いいたします。

Offline

#2 2019-02-04 18:02:55

wader
Member

Re: 1ヶ月後の日

結果の日に1足して元の日にならなければ、前月末に調整する。
Let ( d= Date(Month(開始日) + 1 ; Day(開始日) - 1 ; Year(開始日)) ; d - Case ( Day ( d ) + 1 <> Day ( 開始日 ) ; Day ( d ) ) )

Offline

#3 2019-02-04 18:27:37

きっさん
Member

Re: 1ヶ月後の日

waderさん

wader wrote:

結果の日に1足して元の日にならなければ、前月末に調整する。
Let ( d= Date(Month(開始日) + 1 ; Day(開始日) - 1 ; Year(開始日)) ; d - Case ( Day ( d ) + 1 <> Day ( 開始日 ) ; Day ( d ) ) )

ご教示頂いた式にすると、2月1日の1ヶ月後が1月31日になってしまいます。

Offline

#4 2019-02-04 19:16:56

Shin
Member

Re: 1ヶ月後の日

Min (
Date ( Month ( 開始日 ) + 1 ; Day ( 開始日 ) - 1 ; Year ( 開始日 ) ) ;
Date ( Month ( 開始日 ) + 2 ; 0 ; Year ( 開始日 ) )
)

Offline

#5 2019-02-05 06:41:37

wader
Member

Re: 1ヶ月後の日

足し方を間違えてた、こうかな?
Let ( d= Date(Month(開始日) + 1 ; Day(開始日) - 1 ; Year(開始日)) ; d - Case ( Day ( d + 1 ) <> Day ( 開始日 ) ; Day ( d ) ) )

Offline

#6 2019-02-05 07:02:14

wader
Member

Re: 1ヶ月後の日

それだと、1/29がだめになるか。

Offline

#7 2019-02-05 09:16:23

きっさん
Member

Re: 1ヶ月後の日

shinさん、waderさん
ご教示、ありがとうございます。
計算式がシンプルなMin関数を使ったshinさんの式を使用させて頂きます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.010 seconds, 9 queries executed - Memory usage: 553.63 KiB (Peak: 581.57 KiB) ]