初心者のFileMaker pro Q&A

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

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

ログインしていません。

アナウンス

Claris FileMaker Pro ヘルプ
新しい質問は、新規トピック から投稿して下さい。


#1 2024-02-08 13:40:16

mofu
ゲストユーザー

[解決] 契約開始日からの経過日数を〇年〇ヶ月で表示したい

基礎的な部分も曖昧なままで大変恐縮なのですが、フィールドで

契約開始日(タイプ:日付)
契約終了日(タイプ:日付)
契約期間(タイプ:計算)

を作成しました。
現在も契約中の場合は自動で今日の日付を取得し、契約期間を「〇年〇ヶ月」で表示したいのですが
どのように計算式をいじれば良いのか分かりません。
自分で色々と調べてみて、

Choose( IsEmpty(契約開始日); Max(0; Case(契約終了日; 契約終了日; Get(日付))-契約開始日+1) )

で契約終了日が空欄でも、契約日数は表示されましたが
あくまでも日数なので1350日ですとかそういった表示になり、分かりにくいなと。

Let (
[
YN0 = Year ( 契約開始日 ) * 1200 + Month ( 契約開始日 ) * 100 + Day ( 契約開始日 )  ;
YN1 = Year ( 契約終了日 + 1 ) * 1200 + Month ( 契約終了日 + 1 ) * 100 + Day ( 契約終了日 + 1 ) ;
YM  = Div ( YN1 - YN0 ; 100 ) ;
Y = Div ( YM ; 12 ) ;
M = Mod ( YM ; 12 )
] ;
Case ( Y ; Y & "年" ) & Case ( M ; M & "ヶ月" )
)

この状態だと、契約終了日が空欄だと契約日数が?と表示されてしまい、契約中の場合の契約期間の表示に不便が生じてしまい…。
Caseの式をどこかに挿入すれば良いのか…?と試してみたもののいまいち分からず。
そもそも全く別の計算式が良いのでしょうか。
理解に乏しくお恥ずかしいですが、ご教示頂けますと幸いです。

#2 2024-02-08 15:02:21

チポ
メンバー

Re: [解決] 契約開始日からの経過日数を〇年〇ヶ月で表示したい

書かれた契約終了日を、
  契約終了日に入力があればその日、なければ本日
と変えればいいのでは。

Letの定義で変数にして、契約終了日を変数に変えればいいでしょう。

書かれた式自体の是非は見ていません。。

オフライン

#3 2024-02-08 15:16:34

mofu
ゲストユーザー

Re: [解決] 契約開始日からの経過日数を〇年〇ヶ月で表示したい

何とかなりました…!有難うございます。

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer