アクセスに 2 つの日付/時刻列がLAST_ORDER_DTあり、すべての売上の年SALE_DT
を次の年に更新したいdates(SALE_DT)LAST_ORDER_DT
次のステートメントを試しましたが、構文エラーがスローされました。
UPDATE ORDERS_TEMP SET YEAR(SALE_DT)=YEAR(LAST_ORDER_DT)
助けてください。
アクセスに 2 つの日付/時刻列がLAST_ORDER_DTあり、すべての売上の年SALE_DT
を次の年に更新したいdates(SALE_DT)LAST_ORDER_DT
次のステートメントを試しましたが、構文エラーがスローされました。
UPDATE ORDERS_TEMP SET YEAR(SALE_DT)=YEAR(LAST_ORDER_DT)
助けてください。
あなたの質問を理解しているように、あなたはSALE_DTof#2011-09-30#とLAST_ORDER_DTofを持っている可能性があり、に変更し#2012-10-10#たい.SALE_DT#2012-09-30#
その場合は、DateSerial()関数を使用しSALE_DTて、適切な年、月、日の値から再構築できます。
UPDATE ORDERS_TEMP
SET SALE_DT =
DateSerial(
Year(LAST_ORDER_DT),
Month(SALE_DT),
Day(SALE_DT)
);
値の時刻が真夜中の場合、これは機能するはずSALE_DTです。時刻がそれ以外の場合は、その部分も追加する必要があります。
UPDATE ORDERS_TEMP
SET SALE_DT =
DateSerial(
Year(LAST_ORDER_DT),
Month(SALE_DT),
Day(SALE_DT)
)
+ TimeValue(SALE_DT);
SALE_DTとLAST_ORDER_DTに Null を含めることができる場合は、これらの行をUPDATEクエリから除外する必要があります。
WHERE SALE_DT Is Not Null AND LAST_ORDER_DT Is Not Null