- ベストアンサー
Access2007の経過年数を出す関数を教えてください。
Access2007でフイールドにフイールド名BEGDATEに「yyyy/mm/dd」が書き込んでありもう一つのフイールドにフイールド名ENDDATEに「yyyy/mm/dd」が記録されています。 この「BEGDATEのyyyy/mm/dd」と「ENDDATEのyyyy/mm/dd」の経過年数、月数、日数をたとえば40年5ヶ月10日だとすれば 40.5.10と表示させるにはこれを表示させるボックスのコントロールソースにどのような関数を書いたらよいのでしょうか。 因みにAccess2003時代は=PASSAWAY([BEGDATE],[ENDDATE])と言う簡単な関数で出来ていましたが今これを使うと#NAME?のエラーになってしまいます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>PASSAWAY([BEGDATE],[ENDDATE])と言う簡単な関数で これはAccessの組み込み関数じゃないですよ 誰かが作ったユーザー関数じゃないですか? 以前使っていたmdbの中を探すとそれがあるでしょうから 新しいほうに取り込めばいいのでは
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
推測でしかありませんがモジュールにユーザー定義関数を作っていたのでは? Datediff関数を使えば、ユーザー定義関数作るのは簡単だと思います。 「Datediff関数」 http://office.microsoft.com/ja-jp/access/HA012288111041.aspx?pid=CH100728911041 「日付関連のユーザー定義関数」 http://www1.bbiq.jp/blue_sky/ac/ac2002011.html
お礼
「モジュールにユーザー定義関数を作っていたのでは? Datediff関数を使えば、ユーザー定義関数作るのは簡単だと思います」 すいません。この意味が分かりませんです。
補足
書き込み有り難うございます。 「Datediff関数」や「日付関連のユーザー定義関数」をみても私の得たいたとえば40.5.10と表示させる書き方が分からないのです。
お礼
補足のところに自分でも分からない意味不明なことを書いてしまいました。すいません。 「誰かが作ったユーザー関数じゃないですか? 以前使っていたmdbの中を探すとそれがあるでしょうから 新しいほうに取り込めばいいのでは」 の意味が私の力ではよく分かりませんです。
補足
これはAccessの組み込み関数じゃないのですか。 道理でエラーになるのですね。 「以前使っていたmdbの中を探すとそれがあるでしょうから 新しいほうに取り込めばいいのでは」 =PASSAWAY([BEGDATE],[ENDDATE])だけを取り込むと質問に書いたとうりエラーになります。 これを含んだmdbを取り込むとちゃんと働きますが,新しいmdbxで使いたいのです。