Доброго дня,BeforeUpdate события связанного управления подчиненной стрельбы несколько раз
Я должны поддерживать форму доступа, которые содержат связанный подчиненные (используя Мастер и дочерние поля).
В основном, в основной форме пользователь выбирает значение в поле со списком, и подформа автоматически обновляется.
Моя проблема в том, что у меня есть событие BeforeUpdate в одном поле моей подформы, которое предотвращает обновление поля (Cancel = true), если оно не соответствует критериям. Предупреждающий msgbox должен появляться один раз, если в поле есть какая-либо ошибка, но событие BeforeUpdate всегда запускается 3 раза по неизвестной причине.
Я создал простой файл accdb, который воспроизводит мою проблему. Он находится здесь: https://www.hightail.com/download/bXBhU2V0Q1JxRTFsQXNUQw.
Откройте форму Form1, выберите значение в поле со списком, а затем попробуйте обновить одну из букв в подформе на X, и вы получите сообщение msgbox, появляющееся несколько раз.
Заранее благодарим вас за помощь в этом вопросе, так как это сводит меня с ума.
Сильвен
Спасибо @DivisionX, но я хотел бы понять, почему он ведет себя таким образом. Если я открываю свою подчиненную форму как основную форму напрямую (Form2 в моем примере), и я обновляю поле с неправильным контентом, PreUpdate будет запущен только один раз, как и должно быть. Какова последовательность событий, которые приводят к тому, что это событие срабатывает несколько раз в случае связанной подформы? – sylvain77
Это просто теория, но может быть, она сначала пытается обновить форму 1, затем форму 2, а затем снова сформировать 1, потому что форма 2 является подчиненной формой из 1? – DivisionX
Поместите контрольную точку в свой код и просмотрите поток выполнения. Присутствующие в доступе скованы и в определенном порядке ... – John