Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / дата последнего изменения в таблице / 9 сообщений из 9, страница 1 из 1
26.12.2003, 22:15
    #32365003
vivft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дата последнего изменения в таблице
Подскажите как сделать таблицу, чтобы при изменения информации в строке устанавливалась дата последнего изменения?
...
Рейтинг: 0 / 0
26.12.2003, 22:26
    #32365006
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дата последнего изменения в таблице
Только если редактирование идет через форму. Тогда можно воспользоваться AfterUpdate.
...
Рейтинг: 0 / 0
26.12.2003, 22:33
    #32365009
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дата последнего изменения в таблице
если adp - триггеры
...
Рейтинг: 0 / 0
26.12.2003, 22:34
    #32365010
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дата последнего изменения в таблице
Кстати, Саныч, а почему "только если редактирование идет через форму"?
Если редактирование идет програмно - то програмно и записывай дату последнего изменения :)
...
Рейтинг: 0 / 0
26.12.2003, 22:59
    #32365020
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дата последнего изменения в таблице
:^) Таки да. Короче, ответ такой: есть все мыслимые возможности, однако в mdb триггеров нет.
...
Рейтинг: 0 / 0
26.12.2003, 23:31
    #32365029
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дата последнего изменения в таблице
есть все мыслимые возможности, однако в mdb триггеров нет
Двумя руками за!

Тогда можно воспользоваться AfterUpdate.
Двумя руками против!
Таки лучше использовать BeforeUpdate (записи)
...
Рейтинг: 0 / 0
26.12.2003, 23:44
    #32365030
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дата последнего изменения в таблице
ЛохДвумя руками за!
Двумя руками против!
Еще немного рук осталось?

ЛохТаки лучше использовать BeforeUpdate (записи)
А это уже мне интересно. Почему?
...
Рейтинг: 0 / 0
27.12.2003, 00:02
    #32365035
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дата последнего изменения в таблице
Использование AfterUpdate - два варианта

1. Вариант номер раз. Запись даты изменения в контрол (может быть скрытый) на форме. Что-нить типа такого:
Код: plaintext
1.
2.
Private Sub Form_AfterUpdate()
    Me![ДатаИзменения] = Now ' или Date() '
End Sub

Недостаток очевиден - сразу после сохранения записи она снова переходит в состояние редактирования. Это, конечно, можно победить с помощью Me.Dirty = False, но это не избавляет от проблемы варианта номер два

2. Вариант номер два. Запись даты изменения через DAO/ADO. Что-нить типа такого:
Код: plaintext
1.
2.
Private Sub Form_AfterUpdate()
    CurrentDb.Execute  "Update Table1 Set [ДатаИзменения]="  & трампампам &  " Where ID="  & Me!ID
End Sub

Проблема в возможной неатомарности. Т.е. запись изменится, сохранится, а вот когда начнется выполнение Form_AfterUpdate - она уже будет заблокирована (например), и информация о дате изменения не запишется.

Если же используем BeforeUpdate - то проблем нет. Что-нить типа такого:
Код: plaintext
1.
2.
Private Sub Form_Before_Update(Cancel As Integer)
    Me![ДатаИзменения] = Date
End Sub

Лишнего состояния редактирования нет. Если запись сохранится - то вместе с датой. Если нет (по каким-либо причинам) - то и дата не будет затронута.

Вот.

Кто здесь?
...
Рейтинг: 0 / 0
27.12.2003, 00:27
    #32365037
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дата последнего изменения в таблице
Угу. Благодарен.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / дата последнего изменения в таблице / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]