Подчиненная форма: проверка данных + обновление

williams
Дата: 25.11.2006 00:01:55
Есть подчиненная форма [форма1], в ней [поле1].
Необходимо,
если введено неверное значение в [поле1] - выдать сообщение и не дать сохранить его,
иначе необходимо пересчитать поле в [таблице1] для которой создана [форма1] и соответсвенно обновить эту форму.


пробую так
на событие "До обновления" [поля1] назначаю макрос [макрос1]:
1. если значение неверно
"Сообщение о неверном значении"
"Отменить событие"
2. иначе:
"Открыть запрос" на обновление [таблицы1]
"Обновление" подчиненной формы


Проблема: ветка 1 - работает, а 2 - нет
А именно: появляется окошко "Конфликт записи" с содержанием
"Пока Вы правили текщую запись она была изменена другим пользователем ... "

Пытаюсь использовать событе "После обновления", тогда ветка 2 - работает, но в ветке 1 после выдачи сообщение о неверном значении, оно сохраняется в ячейке и курсор переходит в соседнюю

Как правильно поступить?
ILL HEAD
Дата: 25.11.2006 00:19:20
автор
Проблема: ветка 1 - работает, а 2 - нет
А именно: появляется окошко "Конфликт записи" с содержанием
"Пока Вы правили текщую запись она была изменена другим пользователем ... "

дело в подчиненной форме которая УЖЕ приняла значение в поле1 и не отпускает его
другим пользователем являетесь именно ВЫ (тоесть тот кто вводит значение в поле1

вариант - до вызова запроса на обновление уйти с этой записи на другую
при этом надо будет както позаботится о том чтобы запрос на обноление выполнился для нужной записи
не видя запрос предложить вариант трудно
в коде это решалось бы проще
хорошвопрос
Дата: 25.11.2006 00:33:16
williams
...
Проблема: ветка 1 - работает, а 2 - нет

...

Пытаюсь ... тогда ветка 2 - работает, но в ветке 1 ...
Как правильно поступить?



оставить ветку 1 в том событии, где работает 1 и не работает 2.
ветку 2 поместить туда, где работает 2 и не работает 1
ILL HEAD
Дата: 25.11.2006 00:39:35
williams
Как правильно поступить?
2 хорошвопрос
хороший ответ
NG
Дата: 25.11.2006 00:47:22
Хороший комментарий!
williams
Дата: 25.11.2006 01:00:48
ILL HEAD
спасибо за быстрый ответ


Пока Вы правили текщую запись она была изменена другим пользователем ... " дело в подчиненной форме которая УЖЕ приняла значение в поле1 и не отпускает его
другим пользователем являетесь именно ВЫ (тоесть тот кто вводит значение в поле1
вариант - до вызова запроса на обновление уйти с этой записи на другую
при этом надо будет както позаботится о том чтобы запрос на обноление выполнился для нужной записи


Согласен с Вами, я тоже пытался убрать фокус вообще с подчиненной формы, установив фокус на
поле главной формы:

"Выделить объект" (главная форма)
"К элементу управления" (одно из полей главной формы)

но при выполнении макрокоманды "К элементу управления" тоже выскакивает ошибка
"макрос связанный со свойством 'До обновления' не позволяют сохранить данные в этом поле "
и ниже рекомендации "или убрать такую команду, или использовать событие 'после обновления' "

не видя запрос предложить вариант трудно

этот запрос обновляет поле всех записей [таблицы1] , без привязки к данным формы, Поле2= Поле1+число
ILL HEAD
Дата: 25.11.2006 01:04:48
так и надо убрать такую команду
а выполнить ее ужэ после перехода
про запрос понял. тогда неочем беспокоится
williams
Дата: 25.11.2006 01:15:08
хорошвопрос
спасибо огромное!!!
стыдно, что я сам не додумался, решение было так близко ...
ILL HEAD
то же спасибо за помощь!!!