20 / 35 / 14
Регистрация: 08.10.2015
Сообщений: 406
|
||||||
1 | ||||||
События формы19.12.2017, 10:39. Показов 3089. Ответов 3
Метки нет (Все метки)
Здравствуйте,
У меня есть форма с подчин формой (участвуют 2 таб 1:М), на ней кнопка, написанная мной "Удалить запись"- удаляет инфу из обеих таблиц. Пример таблиц (Они хранятся на SQL Server) : 1 Покупатели 2 Покупки, которые совершил каждый покупатель. Т е удаляется инфа о покупателе и его купленных товарах. На кнопке привязан такой порядок действий: 1) Открыть модальное окно 2) В этом окне из выпадающего списка выбрать причину удаления 3) При нажатии ОК в таблицу "Архив" на SQL Server записывается вся удаленная инфа+причина, потом код удаления. Это выполняется с помощью процедуры, которую на VBA я вызываю с сервера. Все выполняется норм и без задержек. НО! Пользователи привыкли пользоваться стандартной кнопкой на "Удалить запись" на панели вкладка Записи. Я попробовала перенести код моей кнопки на событие формы "Удаление". Удаляется выбранная запись, но процедура записывает в Архив следующую запись, а не удаленную. Получается так, что удаление происходит раньше открытия модального окна. На небольшой БД, где форма состоит из 1 таблицы я сделала с 2 событиями До+Удаление
Но в другой БД, где процедура, Access виснет после открытия модального окна. Удаление не происходит и процедура тоже результата не дает. Скажите пжл, реально избавитсья от зависания или проще обучить пользователей пользоваться моей кнопкой на форме?
0
|
19.12.2017, 10:39 | |
Ответы с готовыми решениями:
3
События формы События навигационной панели формы Прописать события для формы программно При добавлении подчиненной формы, в ней пропадают все события, кроме Вход и Выход |
7446 / 4580 / 302
Регистрация: 12.08.2011
Сообщений: 14,280
|
|
19.12.2017, 10:49 | 2 |
А зачем вы это вообще делаете? Почему просто не пометить запись как архивную например и не отображать где не надо? Удаление в БД - это нештатная ситуация. Как землетрясение например. Что будет, если вы захотите какую-либо отчётность по клиентам?
0
|
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
19.12.2017, 10:50 | 3 | |||||
Сообщение было отмечено Aumi как решение
Решение
Должна быть не модальная форма, а диалоговая, она сама по себе модальная. Диалоговая перехватывает все управление на себя и в вызывающем коде последующие команды выполнятся только после ее закрытия
1
|
19.12.2017, 15:40 | 4 |
У формы ан вкладке "Данные" есть свойство "Разрешить удаление". Если поставить в нём "нет", то пользователю не будет доступна кнопка удаления записи
1
|
19.12.2017, 15:40 | |
19.12.2017, 15:40 | |
Помогаю со студенческими работами здесь
4
Код в обработке события получения фокуса, который бы исполнялся только один раз, при открытии формы Как записать функцию "Если" в процедуре обработки события поля формы Создание у формы события, основанного на событиях компонентов формы Написать процедуру обработки события OnCreate для формы, которая устанавливает для формы размер шрифта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |