Как пометить время Каждое поле обновлено в другом назначенном поле Ms Access - PullRequest
0 голосов
/ 24 сентября 2019

Я настраиваю базу данных для отслеживания / отметки времени редактирования для каждого поля (а не только для формы).поэтому введите следующий код в событии "after update" свойства:

Private Sub DReceived_AfterUpdate()
    Me![CLASS] = Now()
End Sub

Я надеялся, что редактирование поля, помеченного как "CLASS", пометит метку времени в поле "DReceived", но это не такпроисходит.

Я пробовал функцию "now()" в свойстве поля таблицы, но она продолжает фиксировать текущее время и дату даже без каких-либо обновлений.(Я ТОЛЬКО ХОЧУ, ЧТО ТАКОЕ ВРЕМЯ, КОГДА ДАТА В ЛЮБОМ ПОЛЕ ОБНОВЛЯЕТСЯ

Private Sub DReceived_AfterUpdate()
    Me![CLASS] = Now()
End Sub

Если в таблице есть поля от А до F, если я редактирую А, В должен иметь метку времени, С; D должен быть меткой времени и т. Д.

1 Ответ

1 голос
/ 24 сентября 2019

Используйте Перед изменением макроса данных , а не VBA на форме.С одной стороны, подпрограммы не сработают, если один из них непосредственно редактирует таблицу, и макросы данных предназначены в первую очередь для этого.

Макрос будет включать логику, подобную:

If Updated("CLASS") Then
    SetField
        DReceived
        =Now()
...