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

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

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

You are not logged in.

Announcement

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


#1 2020-05-23 14:58:54

元号を分割表示したとき

元号を分割表示したとき計算式で変更する対処方法はありますか。(平成の年号→令和の年号へ)

Win10 FM17Adを使用しています。

分割表示の時
開始日の5と6で1988をひき、終了日の5と6で2018を引くように入れていますが、元号が変わってもいいように他の方法は、はないでしょうか

フィールド名   入力データ
開始日(日付)→ 2019/4/1   
終了日(日付)→ 2020/3/31

フィールド名  結果 計算式
開始日1(計算) 1  Middle(GetAsDate(開始日);10;1)
開始日2(計算) 空  Middle(GetAsDate(開始日);9;1)
開始日3(計算) 4   Middle(GetAsDate(開始日);7;1)
開始日4(計算) 空  Middle(GetAsDate(開始日);6;1)
開始日5(計算) 1   Middle((GetAsNumber((Middle(GetAsText(開始日);1;4)))-1988);2;1)
開始日6(計算) 3   Middle((GetAsNumber((Middle(GetAsText(開始日);1;4)))-1988);1;1)
終了日1(計算) 1   Middle(GetAsDate(終了日);10;1)
終了日2(計算) 3   Middle(GetAsDate(終了日);9;1)
終了日3(計算) 3   Middle(GetAsDate(終了日);7;1)
終了日4(計算) 空  Middle(GetAsDate(終了日);6;1)
終了日5(計算) 2   Middle((GetAsNumber((Middle(GetAsText(終了日);1;4)))-2018);2;1)
終了日6(計算)  空  Middle((GetAsNumber((Middle(GetAsText(終了日);1;4)))-2018);1;1)

Offline

#2 2020-05-23 16:28:03

Shin
Member

Re: 元号を分割表示したとき

YearName() を使い、GetAsNumber ( YearName ( 日付 ; 2 ) ) を使われるのが簡単でしょう。
上の式全体が、日付の書式によってはうまく動きませんね。
Month() Day() 関数を使われたほうがいいと思いますよ。

Offline

#3 2020-05-24 00:59:37

Re: 元号を分割表示したとき

日頃使わない計算式なので、
開始日5や開始日6で、具体的な計算式を教えてください。
よろしくお願いします

Offline

#4 2020-05-24 05:53:33

Shin
Member

Re: 元号を分割表示したとき

例えば、
開始日2(計算) 空  Div ( Day ( 開始日 ) ; 10 )
  リーヂング0を表示しないのでしたら、Let ( n =  Div ( Day ( 開始日 ) ; 10 ) ; Case ( n ; n ) ) いするか、数字書式で0を表示させないようにします。
開始日5(計算) 1   Mod ( ( YearName ( 開始日 ; 2 ) ; 10 )

Last edited by Shin (2020-05-24 08:36:37)

Offline

#5 2020-05-24 10:42:32

Re: 元号を分割表示したとき

下記にどうもなりません。もう一度教えてください。

2019/04/01の平成31
開始日5の結果が、1 の計算式   Mod ( ( YearName ( 開始日 ; 2 ) ; 10 ) でいいんですよね
開始日6の結果が、3 の計算式?

2020/03/31の令和2
終了日5の結果が、2 の計算式?
終了日6の結果が、空 の計算式?

書式は、一般にしています

Offline

#6 2020-05-24 12:14:18

Shin
Member

Re: 元号を分割表示したとき

答えは、#4のコメントに全て書いてあります。各関数の動きを一つづつ確認してみてください。

Offline

#7 2020-05-24 22:55:25

Re: 元号を分割表示したとき

初心者ですみません
開始日6
終了日6
の計算式がどうにもわかりません。よろしくお願いします

Offline

#8 2020-05-25 08:28:36

Shin
Member

Re: 元号を分割表示したとき

YearName ( 開始日 ; 2 ) で、今でしたら、R2 が返されます。
それを、Mod() すれば、1の桁が得られますので、2が返ります。(数字への変換は自動的に行われます)
その10の桁ですので、Div() を使います。

Offline

#9 2020-05-25 15:05:54

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.004 seconds, 7 queries executed - Memory usage: 518.95 KiB (Peak: 523.85 KiB) ]