過去ログ

                                Page     300
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼2つのフィールド間での日付を  tami 06/8/31(木) 11:05
   ┗Re:2つのフィールド間での日付を  ykitz 06/8/31(木) 13:54
      ┣Re:2つのフィールド間での日付を  tami 06/9/2(土) 6:22
      ┗Re:2つのフィールド間での日付を  ksdmiya 06/9/2(土) 8:09

 ───────────────────────────────────────
 ■題名 : 2つのフィールド間での日付を
 ■名前 : tami <tami.sasa@nifty.com>
 ■日付 : 06/8/31(木) 11:05
 -------------------------------------------------------------------------
   2つのフィールドの1つに2006/07/15といれるともう一つのフィールドに2006/07/31のように5年後の同じ月の末日を表示するようにしたいのですが。
アプローチのバージョンは2001です。

 ───────────────────────────────────────  ■題名 : Re:2つのフィールド間での日付を  ■名前 : ykitz  ■日付 : 06/8/31(木) 13:54  -------------------------------------------------------------------------
   >2つのフィールドの1つに2006/07/15といれるともう一つのフィールドに2006/07/31のように5年後の同じ月の末日を表示するようにしたいのですが。
>アプローチのバージョンは2001です。

日付を入力する、日付型フィールドの名前を「日付」、
5年後の月末日を表示する、計算型フィールドの名前を「5年後末日」、とします。

そうすると、「5年後末日」フィールドにつぎの計算式を設定すると
「日付」フィールドのデータに対する、5年後の同月末日を得ることができます。
うるう年にも対応しています。

Date(If(Month(日付) = 12, 1, Month(日付) + 1), 1, Year(日付) + 5 + If(Month(日付) = 12, 1, 0)) - 1

やっていることは、5年後の翌月の1日という日付を作り、そこから1日、日付を戻して月末日を得ています。
なお、「日付」フィールドのデータが12月の場合にエラーにならないように、少し複雑になっています。

 ───────────────────────────────────────  ■題名 : Re:2つのフィールド間での日付を  ■名前 : tami <tami.sasa@nifty.com>  ■日付 : 06/9/2(土) 6:22  -------------------------------------------------------------------------
   ありがとうございました。解決しました。

 ───────────────────────────────────────  ■題名 : Re:2つのフィールド間での日付を  ■名前 : ksdmiya  ■日付 : 06/9/2(土) 8:09  ■Web : http://homepage2.nifty.com/ksdmiya/  -------------------------------------------------------------------------
   >> ykitzさん:
>>2つのフィールドの1つに2006/07/15といれるともう一つのフィールドに2006/07/31のように5年後の同じ月の末日を表示するようにしたいのですが。
>>アプローチのバージョンは2001です。
>
>日付を入力する、日付型フィールドの名前を「日付」、
>5年後の月末日を表示する、計算型フィールドの名前を「5年後末日」、とします。
>
>そうすると、「5年後末日」フィールドにつぎの計算式を設定すると
>「日付」フィールドのデータに対する、5年後の同月末日を得ることができます。
>うるう年にも対応しています。
>
>Date(If(Month(日付) = 12, 1, Month(日付) + 1), 1, Year(日付) + 5 + If(Month(日付) = 12, 1, 0)) - 1
>
>やっていることは、5年後の翌月の1日という日付を作り、そこから1日、日付を戻して月末日を得ています。
>なお、「日付」フィールドのデータが12月の場合にエラーにならないように、少し複雑になっています。

ご相談者が難問解決したところで、少し追加を
5年後のところです
不動産賃貸借契約などでは住居は2年、店舗や事務所は5年、土地は20年など
契約年数がことなります、これらに対応するフィールド設定を提案します
1、フィールド名・・・契約年数・・・数値型
2、5年後末日フィールド計算式の5を契約年数フィールドに置き換える
3、入力フォームに契約年数フィールドを配置する
以上により様々な年数に対応、応用範囲も広がると思います

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 300