У меня есть база данных с таблицей, которую я использую в качестве главной, и которая ежедневно обновляется и дополняется таблицей с такой же компоновкой.Прежде чем я обновлю почти весь мастер ежедневными данными, я хочу проверить, изменились ли значения из определенного столбца во время ежедневного обновления.Обычно этот столбец содержит только Null или «X».
В качестве прототипа я сравнил только конкретный столбец таблицы A и таблицы B и, если есть разница, задайте значение с более чем одним символом в столбце (здесь вчерашняя дата).
Это код, который работал в качестве прототипа:
UPDATE ReiseMaster
INNER JOIN Update_Import
ON(ReiseMaster.Col3 <> Update_Import.Col3
SET ReiseMaster.Col3 = Date() - 1
Теперь столбец содержит значение Null, "X" или дату в мастере.Для следующего обновления я теперь должен убедиться, что значения этого ранее обновленного столбца, содержащие дату в виде строки, будут исключены (в противном случае ReiseMaster.Col3 <> Update_Import.Col3 всегда будет верным для них в будущем, и дата будетвсегда обновляться, что не должно происходить).
Мой подход состоял в том, чтобы исключить все наборы данных из основной таблицы, где длина значений в столбце превышает 1.
Теперь здесьмоя проблема:
При запуске кода SQL MS Access больше не отвечает , происходит сбой всей программы.Может кто-нибудь посоветовать мне, что может быть не так со следующим кодом?
UPDATE ReiseMaster
INNER JOIN ReiseMaster_Import
ON(ReiseMaster.`Attachment Indicator` <> ReiseMaster_Import.`Attachment Indicator` AND LEN(ReiseMaster.`Attachment Indicator`) <= 1)
SET ReiseMaster.`Attachment Indicator` = Date() - 1
Дополнительная информация: Я использую Access VBA для запуска кода, и во время этого также выполняются SQL-операторысохранено в строкеО причине, по которой я добавляю дату, как только я наблюдаю изменение, я хочу использовать даты в качестве справочного, когда значение было изменено впервые, чтобы провести дальнейший анализ с ними на более позднем этапе.