powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Словить исполняемое событие на форме с записями
17 сообщений из 17, страница 1 из 1
Словить исполняемое событие на форме с записями
    #39862862
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, подскажите пожалуйста, есть один вопрос по поводу отлова событий, на которые мы обычно вешаем исполнение наших процедур.
К примеру ,как вы знаете у формы есть такие события, как - до обновления, после обновления, удаление, после подтверждения del и куча других. Которые мы время от времени используем при проектировании нашей логики обработки информации.

А можно как нибудь словить тип исполняемого события с формы?

К примеру как то так : Если тип события Form_Dirty (ну то есть внесены изменения) то вывести msgbox " Событие -внесены изменения- отловлено"

Просто пощупать как отлавливать их. Если они выводятся в числовой кодификации, то ничего страшного. Просто вообще как за них зацепиться и послушать? Как то WithEvents на форму повесить можно, не из общего модуля, а локально в модуле формы, чтобы покороче ?
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862870
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подписку на события контролов и интерфейса Form в бэк-модуле самой формы уже организовали за нас ребята из MS.
Нам остается только описать саму процедуру обработки (при наличии модуля), например так:
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862886
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PredeclaredПодписку на события контролов и интерфейса Form в бэк-модуле самой формы уже организовали за нас ребята из MS.
Нам остается только описать саму процедуру обработки (при наличии модуля), например так:

Не не, это все понятно.
Нужно зацепиться за сам обработчик события, слушать нужно с более высокого уровня. Нужно не прописывать само событие ,а именно отловить в системе его исполнение. Смысл вопроса такой: если исполняемое событие текущей формы к примеру Form_Dirty, то что то там, парам пам пам) К примеру вылетает msgbox.

То есть повесить listener возникновения самих событий. Это практикуется , но пример пока не могу найти.

(представьте такой абстрактный пример - программно на форме создается 20 кнопок. Не прописывать же для каждой отдельно событие _onClick() Можно же написать обработчик для всего массива/коллекции свежесозданных кнопок.)
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862917
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов(представьте такой абстрактный пример - программно на форме создается 20 кнопок. Не прописывать же для каждой отдельно событие _onClick() Можно же написать обработчик для всего массива/коллекции свежесозданных кнопок.)
Именно создается, а не показывается? А потом удаляется?
Я пробовал делать так(здесь отговаривали:)) - то ли счетчик контролов на форме переполняется то ли еще что.... Ломается форма в один прекрасный момент и приходится ее пересоздавать.
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862918
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов... Нужно не прописывать само событие ,...
А мы и не имеем возможности прописывать события интерфейса Form. Это сделано за нас.

Сергей Лалов Смысл вопроса такой: если исполняемое событие текущей формы к примеру Form_Dirty, то что то там, парам пам пам) К примеру вылетает msgbox...
Для того, чтобы что то вылетало, нужно подписаться и обрабатывать(описать процедуру обработки события/назначить макрос).

Сергей Лалов...Не прописывать же для каждой отдельно событие _onClick() ...
Не "событие", а "процедуру обработки события". Это разные вещи.
И именно для каждой.
Для статичного количества кнопок можно и простынкой.
Для варианта динамичного количества кнопок, для каждой кнопки создается свой инстанс класса-обертки,
в котором и подписка, и процедура обработки событий описана.
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862931
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов...абстрактный пример - программно на форме создается 20 кнопок....абстрактный вопрос - а за нахрена на форме 20 кнопок с одним и тем же обработчиком
Конкретный пример при создании фильтра по нескольким полям:создать процедуру SUB вызываемую после обновления любого поля для ввода критерия,сформировать строку WHERE и применить фильтр
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862935
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdkuСергей Лалов...абстрактный пример - программно на форме создается 20 кнопок....абстрактный вопрос - а за нахрена на форме 20 кнопок с одним и тем же обработчиком
Конкретный пример при создании фильтра по нескольким полям:создать процедуру SUB вызываемую после обновления любого поля для ввода критерия,сформировать строку WHERE и применить фильтр

Вопрос то не про кнопки, а про отлов событий)
Да я уже разобрался со своей проблемой, дописываю небольшой класс модуль. Решение на свой вопрос сейчас выложу.
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862968
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот небольшой пример базы , класс модуль в которой позволяет повесить "прослушку" на исполняемые события объекта (у меня форма в частности, event procedures из объекта типа форма. Просто можно попробовать в подчиненной форме добавить/удалить/изменить запись. И в msgbox будет вылетать извещение, о том, какое событие формы было исполнено. Я в качестве примера описал не все события, интересовали на после обновления, до подтверждения удаления, перед добавлением, после добавления . Их и слушал. Пример простенький , но рабочий.
Обратите внимание, что модуль самой формы практически пуст)
Поюзать функционал можно попробовав добавить/изменить/удалить записи на табличной форме.
Пример приложил.
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862987
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казус "Закона Архимеда" в чистом виде.
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862992
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловДа я уже разобрался со своей проблемой, дописываю небольшой класс модуль.
Возьмите Гетца Access 2000 , Глава 2 . Все подробно описано , а в прилагаемом диске есть пример .
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39862995
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PredeclaredСергей Лалов... Нужно не прописывать само событие ,...
А мы и не имеем возможности прописывать события интерфейса Form. Это сделано за нас.

Сергей Лалов Смысл вопроса такой: если исполняемое событие текущей формы к примеру Form_Dirty, то что то там, парам пам пам) К примеру вылетает msgbox...
Для того, чтобы что то вылетало, нужно подписаться и обрабатывать(описать процедуру обработки события/назначить макрос).

Сергей Лалов...Не прописывать же для каждой отдельно событие _onClick() ...
Не "событие", а "процедуру обработки события". Это разные вещи.
И именно для каждой.
Для статичного количества кнопок можно и простынкой.
Для варианта динамичного количества кнопок, для каждой кнопки создается свой инстанс класса-обертки,
в котором и подписка, и процедура обработки событий описана.

Да, вы правы, именно "процедура обработки событий", её вызов нужен в конечном итоге, но из одного места. Пишу уже около трех дней функцию достаточно большую, которая должна перехватывать управление на основные действия типа удалить, изменить, добавить итд. (пишу реализацию трехзвенки Ms asccess+php+mysql. Преимущества в том, что вообще не нужно использовать MySQL odbc. Сам аксесс (его таблицы и формы включаются в функцию как аргументы и пользователь вообще не видит разницы , он также как и обычно продолжает работать в обычном аксессе)) Функция берет на себя организацию select,update,delete,insert с таблиц и формы Access
В общем то почти написал уже. Блок с класс модулем, который я написал - это скорей приятное дополнение к функционалу , не надо в функцию вводить дополнительные аргументы, и на форме на каждое событие обращаться к одной и той же функции неоднократно.
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39863009
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkManСергей ЛаловДа я уже разобрался со своей проблемой, дописываю небольшой класс модуль.
Возьмите Гетца Access 2000 , Глава 2 . Все подробно описано , а в прилагаемом диске есть пример .

У меня есть в распечатке, лет 8 наверное пользуюсь,кирпич бумаг размером с небольшую тумбочку, потрепало страницы за эти годы
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39863026
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4d_monsterКазус "Закона Архимеда" в чистом виде.

Вы имеете в виду, что разницы никакой нет и переместилось все из локального модуля в класс модуль) Те же яйца только сбоку?) Не, не совсем так.
По задаче в определенный момент нужно использовать наш обычный способ написания процедур (в модуле формы к примеру), а потом при нажатии определенной кнопки нужно изменить чтобы те же самые процедуры событий начали работать кардинально по новому, по определенному шаблону. Можно настрочить конечно кучи if в обычных процедурах, дописать дополнительные обработчики вариантов. Но мне хочется чтобы управление данным при определенных условиях было из одной функции. В общем то накатал уже львиную долю.
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39863037
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311.....
.... - то ли счетчик контролов на форме переполняется то ли еще что.... Ломается форма в один прекрасный момент и приходится ее пересоздавать.

Ну тогда тем, кто пишет в аксессе игры типа змейка, с динамически задаваемым количеством клеток/кнопок не повезло )
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39863060
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей ЛаловSerg197311.....
.... - то ли счетчик контролов на форме переполняется то ли еще что.... Ломается форма в один прекрасный момент и приходится ее пересоздавать.

Ну тогда тем, кто пишет в аксессе игры типа змейка, с динамически задаваемым количеством клеток/кнопок не повезло )
Уже :) http://softwaretopic.informer.com/snake-vba-access/
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39863111
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkonУже :) http://softwaretopic.informer.com/snake-vba-access/

Скачал, поиграл, спасибо:) Помню сделал консольную версию, на Java. Там с автоматическим обновлением (перерисовкой без участия дополнительного нажатия на клавишу человеком ) консоли были проблемы с движением. Сама змейка получилась, только рядом сидел второй человек ,который путем нажатия на дополнительную клавишу (которая служила якорем прерывания бесконечного цикла) очищал консоль и автоматом отрисовывался массив значений со следующим шагом змеи ))
...
Рейтинг: 0 / 0
Словить исполняемое событие на форме с записями
    #39863114
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если выбирать потенциал геймдева между access или excel, то лучше excel, там можно уменьшить клетку до размера пикселя и обрабатывать её)) Люди создают целые шедевры, кто то 3d движок даже сделал на VBA Excel, и создал игру типа Doom.
Другой вообще Марио под эксель переписал)

[youtube=
YouTube Video
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Словить исполняемое событие на форме с записями
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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