みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になっております。
FM18 win11
YYYY/MMだけ表示したく
Year ( Get ( 日付 ) ) & "/" & Right ( "0" & Month ( Get ( 日付 ) ) ; 2 )
という計算フィールドを作成しました。
上記の翌日の計算フィールドを作成したく
Year ( Get ( 日付 ) ) & "/" & Right ( "0" & Month ( Get ( 日付 ) ) + 1 ; 2 )
と作成したところ現在
2022/13となってしまいます。
2023/01と表示させるいい方法はないでしょうか?
> YYYY/MMだけ表示したく
レイアウトモードで日付フィールドの書式設定で出来ます。
> 翌日の計算フィールド
翌月ですよね。
Date ( Month ( Get ( 日付 ) ) + 1 ; 1 ; Year ( Get ( 日付 ) ) )
これが翌月の月初の日付です
Offline
let (
d = Date ( Month ( Get ( 日付 ) ) + 1 ; 1 ; Year ( Get ( 日付 ) ) ) ;
Year ( d ) & "/" & Right ( "0" & Month ( d ) ; 2 )
)
とするのが、汎用性があっていいでしょう。20ヶ月後でも同じように計算できます。
または、
Case (
Month ( Get ( 日付 ) ) = 12 ; Year ( Get ( 日付 ) ) + 1 & "/01 ;
Year ( Get ( 日付 ) ) & "/" & Right ( "0" & Month ( Get ( 日付 ) ) + 1 ; 2 )
)
Last edited by Shin (2022-12-09 18:55:35)
Offline
チポ様
書式設定の変更だけだと裏ではYYYY/MM/DDという表示になっておりリレーションがうまくいきませんでした…
Shin様
Let関数を採用させていただきました。ありがとうございました。
リレーションのキーにするのでしたら、例えば、キーになるフィールドを月初の日に設定してしまう(これなら、表示も書式の設定だけでいいです)か、
Year ( 日付 ) * 12 + Month ( 日付 )
を使うことをおすすめします。この式ですと、年跨ぎに関係なく連続した数字になりますので、加減が簡単です。
年月に戻す時には、
Div ( 結果 - 1 ; 12 ) & "/" & Mod ( 結果 - 1 ) ; 12 ) + 1
です。
Last edited by Shin (2022-12-10 09:45:34)
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 547.25 KiB (Peak: 578.88 KiB) ]