-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Отслеживание редактирования

Вторник, 19 Июля 2016 г. 14:52 + в цитатник
Всем доброго дня!

Прошу помочь с DSum или натолкнуть на более правильный подход. Есть форма и на ней две абсолютно идентичные ленточные субформы, нижняя для чтения, верхняя для редактирования. В каждой из них ровно 11 записей и 12 полей. Null разрешён. Редактировать можно все поля, кроме ID. Задача - понимать, произведено ли редактирование. Что уже сделано:

1. На редактируемой субформе в каждом контроле есть условное форматирование
Nz(DLookUp("[controlname1]";"sfrm_readonly";"[ID] =" & [ID]);'')<>Nz([controlname1];'')
Так пользователю подсвечиваются отредактированные значения.

2. На редактируемой субформе есть скрытый контрол [row_check] не привязанный к таблице. В нем источник данных
=iif(Nz(DLookUp("[controlname1]";"sfrm_readonly";"[ID] =" & [ID]);'')<>Nz([controlname1];'');1;0) + 
 iif(Nz(DLookUp("[controlname2]";"sfrm_readonly";"[ID] =" & [ID]);'')<>Nz([controlname2];'');1;0) + 
 ...
 iif(Nz(DLookUp("[controlname12]";"sfrm_readonly";"[ID] =" & [ID]);'')<>Nz([controlname12];'');1;0)
Если в поле не 0, то я понимаю, что запись редактировалась.

3. В примечании формы есть скрытый контрол, в котором я хочу вывести 1, если хотя бы одна из записей была отредактирована, или 0 в противном случае. Перепробовал разные варианты с DSum и DMax. Сейчас там
=DMax("[row_check]";"sfrm_for_edit")
, и он всегда даёт 0. Был ещё вариант
=DSum("[row_check]";"sfrm_for_edit";"[row_check] > 0")
, так этот показывает то 11 (по числу записей), то null.

По-видимому, я не до конца понимаю логику этих функций. Как сделать правильно?

P. S. Конечная цель - не считать отредактированной форму, в которой пользователь что-то поменял, но потом вернул как было.

http://www.sql.ru/forum/1223228/otslezhivanie-redaktirovaniya


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку