• ベストアンサー

ファイルメーカーPro7での経過月数の計算

ファイルメーカーPro7で機器の設置から経過月数の計算をしたいのですが方法を教えていただけないでしょうか?設置日『2005/1/1』の様な形式でフィールドを設けています。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ファイルメーカー4の頃に書いたモノですが、 (Year(基準日)*12+Month(基準日))-(Year(設置日)*12+Month(設置日))  -If(Day(基準日)<Day(設置日), 1, 0) これは設置から満何ヶ月経過したかを出します。4月30日設置なら、 5月30日で1を返すわけです。vinocchioさんのはdayの部分を評価し てないので、5月1日で1を返すでしょう。

theme_of_ego
質問者

お礼

なるほど。できました。大変勉強になりました。ありがとうございました。

その他の回答 (1)

noname#20210
noname#20210
回答No.1

あんまり資料がありませんよね。FileMaker Pro。 英語版のFileMaker Pro 7でやってみたら出来たのでやり方を紹介しますね。 経過「月」数ですよね。えーと設置日を"start_date"、この日を2005年1月1日として、今日が2005年12月15日だとすると、11ヶ月と出ればいいんですか?それとも今月も入れて12ヶ月?とりあえず、既に経過した月(11ヶ月)を計算してみましょう。 設置日のフィールド名を"start_date"(date形式)とします。 新たに、結果を入れるフィールドをcalculation(計算?)形式で作成します。 計算式は次の通り。 ------------------------------------ (Year ( Get(CurrentDate) ) - Year ( start_date )) * "12" + (Month ( Get(CurrentDate) ) - Month ( start_date )) ------------------------------------ えーと、解説すると、 Get(CurrentDate) は、現在の日付を取得します。 Year() は、()内の日付から、年の部分を抜き出します。 12をかけているのは、「月数」に統一するためです。 同様に、Month() は、()内の日付から、月を抜き出します。 で、残りはそれらの計算です。 start_date の部分だけ、自分の使用している設置日のフィールド名に変えてくださいね。 計算結果は保存せず、必要なときに再計算するようにチェックボックスを入れておきます。英語版では、計算式を入力する画面で、右下の方に storage options(保存オプション)というボタンがありました。そこからチェックボックスの画面に行けます。これで、画面を開くたびに現在の日付で再計算されます。 あと、計算式の画面で、当然ですが計算結果は数字になるようにドロップダウンリストで指定する必要があります。 これでたぶんOKです。パソコンの日付とかを変えてみて、テストしてみてください。 (間違ってたら教えてねw)

theme_of_ego
質問者

お礼

ありがとうございました。できました。大変勉強になりました。

関連するQ&A