- ベストアンサー
アクセス2007 複数フィールドで最古日を表示
- Access 2007で複数のフィールドから最古の日付を表示する方法を教えてください。
- フィールドA~Cの中で一番古い日付をフィールドDに表示するための関数の入れ方が分からないです。
- 他の質問では単一フィールドから最古日や最新日を抽出する方法が挙げられていますが、複数のフィールドからの選択肢を新たなフィールドに表示する方法が見当たらないので、質問させていただきました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
最新日なら簡単なのに・・ 以下を標準モジュールに置いて クエリで フィールドA|フィールドB|フィールドC|最古日:oldest([フィールドA],[フィールドB],[フィールドC]) のように比較したいフィールドを好きなだけ入れてみてください。 A,B,C が全て未記入なら1900/1/1 が返ります 。 投稿用にタブインデントを全角スペースに変換しています。 Function Oldest(ParamArray aryX() As Variant) As Date '日付型要素の中で最小(古)値を求めます(未記入は除外) 'oldest(null,#2000/1/1#,#1999/12/31#) → 1999/12/31 Dim v As Variant Oldest = #12/31/2999# For Each v In aryX If Not IsNull(v) Then If v < Oldest Then Oldest = v End If End If Next If Oldest = #12/31/2999# Then Oldest = 2 '#1900/1/1# End If End Function hatenaさんのとの違いは返り値が日付時刻型かVariant型かの違いです。 今日はkiku さんの追っかけです (^^ゞ ご容赦のほどを。
その他の回答 (1)
- 30246kiku
- ベストアンサー率73% (370/504)
以下が参考になるかもしれません。 フィールド間(横方向)での集計関数 http://hatenachips.blog34.fc2.com/blog-entry-182.html
お礼
返信遅くなり大変申し訳ございません。 モジュールを使うんですね。試しにやってみたら上手くいきました。 ご回答ありがとうございました。
お礼
ご返信遅くなり大変申し訳ございません。 試して見たところ上手くいきました。 ご回答ありがとうございました。