夜、
Date/Time
人が 89 歳以上の場合、フィールドの年の部分のみを 1900 に変更するクエリを作成しました。次のクエリは正常にコンパイルされますが、実行すると a について不平を言い、Type Conversion failure
影響を受けるレコードから値全体が削除されます。
クエリ:
UPDATE tblTestForDOB
SET tblTestForDOB.[PT_BirthDate] = DateValue( (day([PT_BirthDate])/month([PT_BirthDate])/1900) )
WHERE Year(tblTestForDOB.[PT_BirthDate]) <= Year(Date())-"89";
MS ヘルプによると (F1 で関数を押す):
必須の日付引数は通常、100 年 1 月 1 日から 9999 年 12 月 31 日までの日付を表す文字列式です。ただし、日付は、その範囲内の日付、時刻、または日付と時刻の両方を表す任意の式にすることもできます。 .
それは私がしていることではありませんか?" " &
また、関数内の値の前に配置しようDateValue
としましたが、同じことを行いました(渡された文字列であることを確認するため)
では、どうすればいいのでしょうか?CDate
値を日付に変換してから、そのように進める必要がありますか? もしそうなら、これの正しい構文は何ですか?
ありがとう
PSフィールドはShort Date
フォーマットです。また、長い道のりを歩んですべてに VBA を使用したくないことに注意してください。これには、レコード セットを開くなどの作業が含まれます...