powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / события в подчиненной форме
39 сообщений из 39, показаны все 2 страниц
события в подчиненной форме
    #39442948
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Запрос назначен в качестве подчиненной формы
Подскажите, пож, есть ли возможность отловить и обработать событие doubleclick полей подчиненной формы?

Заранее спасибо!
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39443260
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, конечно. Типа так как в приложенном файле. А можно еще поинтересней сделать...
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39443735
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndrF,
спасибо за ответ!

заранее извиняюсь за ОФТОП, но ситуация напомнила один из моих любимых анекдотов, как говорится, про нашу жизнь:

В советское время на конференции встречаются директора лучших мясокомбинатов. На трибуну взбирается орденоносный директор, герой соцтруда и прочая... Начинает доклад как они соцсоревнование выиграли и план на 1000 процентов перевыполнили:
- Берем кишки, набиваем костной мукой, крахмалом, измельченными газетами, говном, добавляем немного мяса...
ропот из зала
- А, так вы туда и мясо добавляете? так с мясом каждый план перевыполнит...

так и здесь:

у Вас источником данных (SourceObject) сабформы - другая форма (именуемая ПФ). Заранее в конструкторе или в коде формы определить обработчики - нет проблем. А у меня - источником записей для сабформы служит запрос, т.е.
me.subform1.SourceObject="Запрос.Запрос1". У создаваемой автоматически формы-источника для сабформы модуля нет. В этом и проблема.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39443783
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222me.subform1.SourceObject="Запрос.Запрос1". У создаваемой автоматически формы-источника для сабформы модуля нет. В этом и проблема.
А почему такое решение выбрали? С запросом-источником вы много каши не сварите, никаких событий там нет. Если проблема в том, что запрос генерируется динамически, всегда с неизвестным набором колонок, то и подформу тоже динамически генерируйте и цепляйте на нее нужные события. Такое решение, правда, не скомпилируешь. Если набор колонок все же конечен, то создайте подформу со всеми возможными колонками и прячте те, которые не вошли в запрос. Можно также создать подформу с контролами с абстрактными названиями, а источники данных и надписи для колонок присваивать уже динамически в зависимости от запроса.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39443784
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222отвлеклись
На номерного товарища не обращайте внимания, периодически тут бузит, модераторы попозже почистят тему.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39443926
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrShinА почему такое решение выбрали? С запросом-источником вы много каши не сварите, никаких событий там нет. Если проблема в том, что запрос генерируется динамически, всегда с неизвестным набором колонок, то и подформу тоже динамически генерируйте и цепляйте на нее нужные события. Такое решение, правда, не скомпилируешь. Если набор колонок все же конечен, то создайте подформу со всеми возможными колонками и прячте те, которые не вошли в запрос. Можно также создать подформу с контролами с абстрактными названиями, а источники данных и надписи для колонок присваивать уже динамически в зависимости от запроса.
я сейчас сам для своей задачи дорабатываю и сам же использую базу. Надо обрабатывать данные в том числе и один раз. Создавать постоянные формы для этого не имеет смысла.
Хочу создать типа универсальную форму списков данных, источником которых будут служить запросы совершенно различной структуры, с возможностью для каждого запроса определять формы, которые можно вызвать для каждой записи запроса, с указанием передаваемых параметров. Все это реализовано. Остается только чисто косметическое пожелание на выделение всей строки табличной сабформы (которое можно делать в событии Form_current подчиненной формы) и возможность реакции на событие DoubleClick по полю подчиненной формы. Вот только как до них добраться?
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39443963
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222 Остается только чисто косметическое пожелание на выделение всей строки табличной сабформы (которое можно делать в событии Form_current подчиненной формы) и возможность реакции на событие DoubleClick по полю подчиненной формы. Вот только как до них добраться?

В моем примере это вполне показано...
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444093
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndrF,

в Вашем примере в sub подчиненная форма, для подчиненного запроса возникает ошибка на присвоении обработчика события поля OnDblClick
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444189
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222,
А почему нельзя открыть подчиненную в новом окне и на вкладке свойств(нужного поля)>события выбрать нужное событие
(или я чего-то не понял)
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444284
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuА почему нельзя открыть подчиненную в новом окне и на вкладке свойств(нужного поля)>события выбрать нужное событие
(или я чего-то не понял)
до открытия основной формы никакой подчиненной нет, соответственно, нет и полей
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444419
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222AndrF,

в Вашем примере в sub подчиненная форма, для подчиненного запроса возникает ошибка на присвоении обработчика события поля OnDblClick

Мой пример рабочий. Может я не пойму о чем вы. Вложите mdb-шку со сделанными вами изменениями.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444478
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFМой пример рабочий
Ваш пример работает, когда есть форма ПФ, у автора в принципе нет формы, которая используется в качестве источника данных. В качестве подформы можно использовать запрос напрямую, без использования формы
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444508
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinAndrFМой пример рабочий
Ваш пример работает, когда есть форма ПФ, у автора в принципе нет формы, которая используется в качестве источника данных. В качестве подформы можно использовать запрос напрямую, без использования формы

Да все ерунда. Формы можно создавать на автомате и привязываться к их событиям. См вложенный файлик.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444509
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там на скорую руку - чисто как пример...
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444515
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrF,

Вы никак не уловите - там запрос в качестве подчиненной формы.
То есть, SourceObject = "Запрос.ИмяЗапроса".
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444535
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__MichelleAndrF,

Вы никак не уловите - там запрос в качестве подчиненной формы.
То есть, SourceObject = "Запрос.ИмяЗапроса".

Запрос не может быть объектом формы. Подчиненная форма (как и основная) может быть табличной и основана на запросе.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444540
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrF,

Может. Попробуйте.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444551
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222...Подскажите, пож, есть ли возможность отловить и обработать событие doubleclick полей подчиненной формы?
Заранее спасибо!вопрос___222до открытия основной формы никакой подчиненной нет, соответственно, нет и полейстесняюсь спросить-а на каком поле Вы собираетесь щелкать мышом?(в конструкторе или в области переходов подчиненная форма есть всегда и открыть или изменить её сиойства-нет проблем
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444561
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не все так просто.
Почему бы тему как следует не прочитать?
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444566
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__MichelleAndrF,

Может. Попробуйте.

А , вы про эту ерунду...

Посмотрите как сделано у меня - в подчиненную форму динамически добавляются поля запроса. Как результат в итоге имеем обычную подчиненную форму с которой можно нормально работать. Ну и можно менять RecordSource формы - поля создаются автоматически...
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39444987
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndrFстесняюсь спросить-а на каком поле Вы собираетесь щелкать мышом?

Будете смеяться, но поля есть в рантайме, со всеми свойствами

AndrFПосмотрите как сделано у меня - в подчиненную форму динамически добавляются поля запроса. Как результат в итоге имеем обычную подчиненную форму с которой можно нормально работать. Ну и можно менять RecordSource формы - поля создаются автоматически...

в Вашем примере не увидел формы Start
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445174
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222в Вашем примере не увидел формы Start
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445243
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndrF,Посмотрите как сделано у меня - в подчиненную форму динамически добавляются поля запроса. Как результат в итоге имеем обычную подчиненную форму с которой можно нормально работать. Ну и можно менять RecordSource формы - поля создаются автоматически..


так - да, работать будет - только хотелось сделать по-возможности проще, без программной работы с формой в режиме design

Похоже, без Бенедикта не обойтись...
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445259
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222так - да, работать будет - только хотелось сделать по-возможности проще, без программной работы с формой в режиме design

Похоже, без Бенедикта не обойтись...

Access довольно крив в этом плане. Даже на древнем VB6 подобное реализуется проще и быстрей... Да, можно на нем писать ActiveX компоненты для Access - когда-то давно приходилось подобным заниматься... Но это неудобно тем что с MDB-шкой приходится таскать и регистрировать эти компоненты...
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445349
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222без программной работы с формой в режиме design
А что мешает сделать форму с 255 столбцами и назначать им источник данных и заголовок по колонкам запроса? Дизайн режим не понадобится и навешивать извраты с прямой рабой с окнами через Windows API не придется.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445389
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrShin,

Да в принципе ничего не мешает. Но раз уж Access уже всю работу по созданию и выводу подчиненной формы выполняет - может, проще будет события отловить, чем структуру запроса считывать и самому форму создавать. Подумал, может я чего из событийной жизни формы не знаю.

А через АПИ пример нигде не встречался, как события на форме отслеживать?
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445393
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinвопрос___222без программной работы с формой в режиме design
А что мешает сделать форму с 255 столбцами и назначать им источник данных и заголовок по колонкам запроса? Дизайн режим не понадобится и навешивать извраты с прямой рабой с окнами через Windows API не придется.

Тут есть свои недостатки - к примеру, Boolean поля у вас будут отображаться текстом (или вы должны заранее сделать заготовки CheckBox-ов). И незадействованные контролы юзер сможет сделать видимыми...

Еще один вариант - для подчиненной формы можно использовать сторонний компонент-Grid - к примеру, Janus GridEx или DevXpress. И заодно уж вместо кривого Access-овского генератора отчетов можно использовать ActiveReports от Data Dynamics. Но тогда останется всего лишь сделать маленький шаг чтобы окончательно покинуть Access...
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445396
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос___222MrShin,
А через АПИ пример нигде не встречался, как события на форме отслеживать?

Зачем API для этого, если все и без него прекрасно отслеживается/перехватывается.

Проблема ведь не в отслеживании событий, а в том что Access не имеет возможности создавать контролы иначе как в режиме разработки формы.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445401
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFвопрос___222MrShin,
А через АПИ пример нигде не встречался, как события на форме отслеживать?

Зачем API для этого, если все и без него прекрасно отслеживается/перехватывается.

Проблема ведь не в отслеживании событий, а в том что Access не имеет возможности создавать контролы иначе как в режиме разработки формы.И получается, что все эти манипуляции с динамическим созданием контролов - суть "для себя",
поскольку возможны лишь в mdb, то есть не для серьезной передачи продукта пользователю
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445446
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot __Michelle]AndrFпропущено...
И получается, что все эти манипуляции с динамическим созданием контролов - суть "для себя",
поскольку возможны лишь в mdb, то есть не для серьезной передачи продукта пользователю

Ну почему? Работает ведь.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445462
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFНу почему? Работает ведь.Разумеется, работает.
Почему бы CreateControl не работать? В режиме конструктора.
Ведь у Вас именно это (пример не посмотрела пока)?
Я о том, что продукт в эксплуатацию передается в виде,
по возможности исключающем для пользователей
соблазн осознанно или не очень "поучаствовать в разработке".
То есть, передается в формате mde.
А там Design mode нет.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445500
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__MichelleЯ о том, что продукт в эксплуатацию передается в виде,
по возможности исключающем для пользователей
соблазн осознанно или не очень "поучаствовать в разработке".
То есть, передается в формате mde.
А там Design mode нет.

Access-овские поекты это все же, в подавляющем числе случаев, внутриконторские разработки, а не заказной или покупной продукт.

И, честно говоря очень мало видел реальных проектов с MDE-шками. Не доживают они, как правило, до этого. Становятся монстроидальными и заказчики переходят или на другое средство разработки или покупной продукт.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445539
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFAccess-овские поекты это все же, в подавляющем числе случаев,
внутриконторские разработки, а не заказной или покупной продукт. that depends....
AndrFИ, честно говоря очень мало видел реальных проектов с MDE-шками. Не доживают они, как правило, до этого.
Становятся монстроидальными и заказчики переходят или на другое средство разработки или покупной продукт.Доживают-доживают.)))
А монстроидальными могут быть и процедурки на страничку.))) Опять же, that depends....
Да и внутри одной конторы это может быть система на 50-100 рабочих мест (не фантазии - реальность)
в многоэтажном здании.
Конечно, только mde.
Переход впоследствии осуществился (не совсем безболезненно, на Axapta), но до этого годами работали.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445810
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос___222Здравствуйте!

Запрос назначен в качестве подчиненной формы
Подскажите, пож, есть ли возможность отловить и обработать событие doubleclick полей подчиненной формы?

Заранее спасибо!
был такой топик (обрати внимание на сообщения уважаемого Панурга)
http://www.sql.ru/forum/1102613/sobytiya-kontrolov-podchinennoy-tablicy-zaprosa-na-forme
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39445816
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,был такой топик (обрати внимание на сообщения уважаемого Панурга)

спасибо за ответ

там реализовано как уже предлагалось:

MrShinЕсли набор колонок все же конечен, то создайте подформу со всеми возможными колонками и прячте те, которые не вошли в запрос. Можно также создать подформу с контролами с абстрактными названиями, а источники данных и надписи для колонок присваивать уже динамически в зависимости от запроса.

Думал воспользоваться услугами среды по созданию подчиненной формы, а события полей перехватить как перехватываются события самой подчиненной формы. Похоже, все-таки нельзя - жаль.
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39452664
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос___222guest_rusimport,был такой топик (обрати внимание на сообщения уважаемого Панурга)

спасибо за ответ

там реализовано как уже предлагалось:

MrShinЕсли набор колонок все же конечен, то создайте подформу со всеми возможными колонками и прячте те, которые не вошли в запрос. Можно также создать подформу с контролами с абстрактными названиями, а источники данных и надписи для колонок присваивать уже динамически в зависимости от запроса.

Думал воспользоваться услугами среды по созданию подчиненной формы, а события полей перехватить как перехватываются события самой подчиненной формы. Похоже, все-таки нельзя - жаль.
access 2003 , субклассирование + таймер (за стабильность работы не отвечаю, просто как идея :)
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39452712
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,

спасибо за идею, буду думать
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39452900
вопрос___222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportaccess 2003 , субклассирование + таймер (за стабильность работы не отвечаю, просто как идея :)

почему-то у меня вешает всю систему - буду разбираться постепенно.

Но параллельно смотрю решение попроще - с применением классов с объектами WithEvents
Стало интересно - для обычной сабформы (т.е. для которой есть сохраненный макет) допускается создать экземпляр класса, в котором переопределяются события. В том же классе создаю классы с переопределением событий для всех текстовых полей сабформы. Все работает.

Для сабформы, не имеющей сохраненного макета (источник- запрос), экземпляр класса создается, но переопределение событий (="[Event procedure]") не работает - ошибки при присвоении нет, просто не срабатывает событие. Можно только задать макрос для событий, не имеющих параметров. При создании экземпляров класса для каждого текстового поля сабформы - 2455 Введенное выражение содержит недопустимую ссылку на свойство "OnDblClick".

Сравниваю ControlType текстового поля в сабформе - там, где есть макет, =109, где нет макета =116. Хотя и в первом и втором случае присваивание поля объектной переменной AS TextBox осуществляется без ошибки. Кто-нибудь знает, что это за тип - 116?
...
Рейтинг: 0 / 0
события в подчиненной форме
    #39452973
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос___222почему-то у меня вешает всю систему - буду разбираться постепенно.

проверял на access 2003 под winxp и win7 - проблем не было... при открытой форме в редактор VBA лучше не лезть - последствия не предсказуемы
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / события в подчиненной форме
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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