- ベストアンサー
ACCESSで2つフィールドの日付を比較して新しい日付を表示するには。
お世話になっております。 ちょっとつまづいてしまったので、知恵をお貸しください。 AとBのフィールドにそれぞれ日付が入っていて、比較して新しい日付のものをCのフィールドに表示させたいと思っています。 例: A:2006/05/31 B:2006/06/01 → C:2006/06/01 A:2006/06/02 B:2006/06/01 → C:2006/06/02 A:2006/06/01 B:2006/06/01 → C:2006/06/01 以上のようにするにはどうすればよいでしょうか。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>Jetデータベースエンジンで、入力検査の式にあるフィールド’A'またはテーブル’テーブル名’の規定値が認識されません。 これはテーブルのエラーですね。 テーブルの既定値に式を入れているのでエラーになります。 テーブルのフィールド内では出来ません。クエリやフォーム上のプロシージャなどで新しい日付をCのフィールドに更新させるように処理しないと出来ません。(AccessはExcelなどの表計算ソフトではありませんので) 更新クエリでCのフィールドに IIf([A]<[B],[B],[A]) として更新すれば出来ます。 フォーム上ではA・B・CがあればBのコントロールの更新後処理などに Me![C]=IIf([A]<[B],[B],[A]) などの様にCに代入するようにすれば出来ます。
その他の回答 (1)
- marumaruo
- ベストアンサー率62% (20/32)
IIf([A]<[B],[B],[A]) これでAとBで新しい日付のほうが表示され、AとBが同じだった場合はAが表示されますが、こういうことじゃないですか?
補足
ありがとうございます。 しかし、それを規定値の欄に入力すると Jetデータベースエンジンで、入力検査の式にあるフィールド’A'またはテーブル’テーブル名’の規定値が認識されません。 となり、エラーになります・・・ 式を入力する場所が違うのですかね・・・?
お礼
ありがとうございます。 たしかに、そうでした。夜中に一人で考えてると迷いの森に入ってしまいます。解決できました。とても助かりました。