プロが教えるわが家の防犯対策術!

お世話になっております。
ちょっとつまづいてしまったので、知恵をお貸しください。

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

以上のようにするにはどうすればよいでしょうか。
よろしくお願いいたします。

A 回答 (2件)

>Jetデータベースエンジンで、入力検査の式にあるフィールド’A'またはテーブル’テーブル名’の規定値が認識されません。



これはテーブルのエラーですね。
テーブルの既定値に式を入れているのでエラーになります。
テーブルのフィールド内では出来ません。クエリやフォーム上のプロシージャなどで新しい日付をCのフィールドに更新させるように処理しないと出来ません。(AccessはExcelなどの表計算ソフトではありませんので)
更新クエリでCのフィールドに
IIf([A]<[B],[B],[A])
として更新すれば出来ます。
フォーム上ではA・B・CがあればBのコントロールの更新後処理などに
Me![C]=IIf([A]<[B],[B],[A])
などの様にCに代入するようにすれば出来ます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
たしかに、そうでした。夜中に一人で考えてると迷いの森に入ってしまいます。解決できました。とても助かりました。

お礼日時:2006/06/03 21:27

IIf([A]<[B],[B],[A])


これでAとBで新しい日付のほうが表示され、AとBが同じだった場合はAが表示されますが、こういうことじゃないですか?

この回答への補足

ありがとうございます。
しかし、それを規定値の欄に入力すると

Jetデータベースエンジンで、入力検査の式にあるフィールド’A'またはテーブル’テーブル名’の規定値が認識されません。

となり、エラーになります・・・

式を入力する場所が違うのですかね・・・?

補足日時:2006/06/03 01:16
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A