|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
Здравствуйте! Запрос назначен в качестве подчиненной формы Подскажите, пож, есть ли возможность отловить и обработать событие doubleclick полей подчиненной формы? Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2017, 19:16 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
Можно, конечно. Типа так как в приложенном файле. А можно еще поинтересней сделать... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2017, 13:32 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrF, спасибо за ответ! заранее извиняюсь за ОФТОП, но ситуация напомнила один из моих любимых анекдотов, как говорится, про нашу жизнь: В советское время на конференции встречаются директора лучших мясокомбинатов. На трибуну взбирается орденоносный директор, герой соцтруда и прочая... Начинает доклад как они соцсоревнование выиграли и план на 1000 процентов перевыполнили: - Берем кишки, набиваем костной мукой, крахмалом, измельченными газетами, говном, добавляем немного мяса... ропот из зала - А, так вы туда и мясо добавляете? так с мясом каждый план перевыполнит... так и здесь: у Вас источником данных (SourceObject) сабформы - другая форма (именуемая ПФ). Заранее в конструкторе или в коде формы определить обработчики - нет проблем. А у меня - источником записей для сабформы служит запрос, т.е. me.subform1.SourceObject="Запрос.Запрос1". У создаваемой автоматически формы-источника для сабформы модуля нет. В этом и проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2017, 00:30 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222me.subform1.SourceObject="Запрос.Запрос1". У создаваемой автоматически формы-источника для сабформы модуля нет. В этом и проблема. А почему такое решение выбрали? С запросом-источником вы много каши не сварите, никаких событий там нет. Если проблема в том, что запрос генерируется динамически, всегда с неизвестным набором колонок, то и подформу тоже динамически генерируйте и цепляйте на нее нужные события. Такое решение, правда, не скомпилируешь. Если набор колонок все же конечен, то создайте подформу со всеми возможными колонками и прячте те, которые не вошли в запрос. Можно также создать подформу с контролами с абстрактными названиями, а источники данных и надписи для колонок присваивать уже динамически в зависимости от запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2017, 07:40 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222отвлеклись На номерного товарища не обращайте внимания, периодически тут бузит, модераторы попозже почистят тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2017, 07:42 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
MrShinА почему такое решение выбрали? С запросом-источником вы много каши не сварите, никаких событий там нет. Если проблема в том, что запрос генерируется динамически, всегда с неизвестным набором колонок, то и подформу тоже динамически генерируйте и цепляйте на нее нужные события. Такое решение, правда, не скомпилируешь. Если набор колонок все же конечен, то создайте подформу со всеми возможными колонками и прячте те, которые не вошли в запрос. Можно также создать подформу с контролами с абстрактными названиями, а источники данных и надписи для колонок присваивать уже динамически в зависимости от запроса. я сейчас сам для своей задачи дорабатываю и сам же использую базу. Надо обрабатывать данные в том числе и один раз. Создавать постоянные формы для этого не имеет смысла. Хочу создать типа универсальную форму списков данных, источником которых будут служить запросы совершенно различной структуры, с возможностью для каждого запроса определять формы, которые можно вызвать для каждой записи запроса, с указанием передаваемых параметров. Все это реализовано. Остается только чисто косметическое пожелание на выделение всей строки табличной сабформы (которое можно делать в событии Form_current подчиненной формы) и возможность реакции на событие DoubleClick по полю подчиненной формы. Вот только как до них добраться? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2017, 11:07 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222 Остается только чисто косметическое пожелание на выделение всей строки табличной сабформы (которое можно делать в событии Form_current подчиненной формы) и возможность реакции на событие DoubleClick по полю подчиненной формы. Вот только как до них добраться? В моем примере это вполне показано... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2017, 11:51 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrF, в Вашем примере в sub подчиненная форма, для подчиненного запроса возникает ошибка на присвоении обработчика события поля OnDblClick ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2017, 13:58 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222, А почему нельзя открыть подчиненную в новом окне и на вкладке свойств(нужного поля)>события выбрать нужное событие (или я чего-то не понял) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2017, 16:33 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
sdkuА почему нельзя открыть подчиненную в новом окне и на вкладке свойств(нужного поля)>события выбрать нужное событие (или я чего-то не понял) до открытия основной формы никакой подчиненной нет, соответственно, нет и полей ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2017, 20:24 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222AndrF, в Вашем примере в sub подчиненная форма, для подчиненного запроса возникает ошибка на присвоении обработчика события поля OnDblClick Мой пример рабочий. Может я не пойму о чем вы. Вложите mdb-шку со сделанными вами изменениями. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 08:30 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrFМой пример рабочий Ваш пример работает, когда есть форма ПФ, у автора в принципе нет формы, которая используется в качестве источника данных. В качестве подформы можно использовать запрос напрямую, без использования формы ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 10:03 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
MrShinAndrFМой пример рабочий Ваш пример работает, когда есть форма ПФ, у автора в принципе нет формы, которая используется в качестве источника данных. В качестве подформы можно использовать запрос напрямую, без использования формы Да все ерунда. Формы можно создавать на автомате и привязываться к их событиям. См вложенный файлик. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 10:40 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
Там на скорую руку - чисто как пример... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 10:40 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrF, Вы никак не уловите - там запрос в качестве подчиненной формы. То есть, SourceObject = "Запрос.ИмяЗапроса". ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 10:44 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
__MichelleAndrF, Вы никак не уловите - там запрос в качестве подчиненной формы. То есть, SourceObject = "Запрос.ИмяЗапроса". Запрос не может быть объектом формы. Подчиненная форма (как и основная) может быть табличной и основана на запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 10:59 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrF, Может. Попробуйте. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 11:03 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222...Подскажите, пож, есть ли возможность отловить и обработать событие doubleclick полей подчиненной формы? Заранее спасибо!вопрос___222до открытия основной формы никакой подчиненной нет, соответственно, нет и полейстесняюсь спросить-а на каком поле Вы собираетесь щелкать мышом?(в конструкторе или в области переходов подчиненная форма есть всегда и открыть или изменить её сиойства-нет проблем ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 11:20 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
Не все так просто. Почему бы тему как следует не прочитать? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 11:29 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
__MichelleAndrF, Может. Попробуйте. А , вы про эту ерунду... Посмотрите как сделано у меня - в подчиненную форму динамически добавляются поля запроса. Как результат в итоге имеем обычную подчиненную форму с которой можно нормально работать. Ну и можно менять RecordSource формы - поля создаются автоматически... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 11:37 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrFстесняюсь спросить-а на каком поле Вы собираетесь щелкать мышом? Будете смеяться, но поля есть в рантайме, со всеми свойствами AndrFПосмотрите как сделано у меня - в подчиненную форму динамически добавляются поля запроса. Как результат в итоге имеем обычную подчиненную форму с которой можно нормально работать. Ну и можно менять RecordSource формы - поля создаются автоматически... в Вашем примере не увидел формы Start ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2017, 19:05 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222в Вашем примере не увидел формы Start ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 08:54 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrF,Посмотрите как сделано у меня - в подчиненную форму динамически добавляются поля запроса. Как результат в итоге имеем обычную подчиненную форму с которой можно нормально работать. Ну и можно менять RecordSource формы - поля создаются автоматически.. так - да, работать будет - только хотелось сделать по-возможности проще, без программной работы с формой в режиме design Похоже, без Бенедикта не обойтись... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 10:28 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222так - да, работать будет - только хотелось сделать по-возможности проще, без программной работы с формой в режиме design Похоже, без Бенедикта не обойтись... Access довольно крив в этом плане. Даже на древнем VB6 подобное реализуется проще и быстрей... Да, можно на нем писать ActiveX компоненты для Access - когда-то давно приходилось подобным заниматься... Но это неудобно тем что с MDB-шкой приходится таскать и регистрировать эти компоненты... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 10:57 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222без программной работы с формой в режиме design А что мешает сделать форму с 255 столбцами и назначать им источник данных и заголовок по колонкам запроса? Дизайн режим не понадобится и навешивать извраты с прямой рабой с окнами через Windows API не придется. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 12:11 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
MrShin, Да в принципе ничего не мешает. Но раз уж Access уже всю работу по созданию и выводу подчиненной формы выполняет - может, проще будет события отловить, чем структуру запроса считывать и самому форму создавать. Подумал, может я чего из событийной жизни формы не знаю. А через АПИ пример нигде не встречался, как события на форме отслеживать? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 13:14 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
MrShinвопрос___222без программной работы с формой в режиме design А что мешает сделать форму с 255 столбцами и назначать им источник данных и заголовок по колонкам запроса? Дизайн режим не понадобится и навешивать извраты с прямой рабой с окнами через Windows API не придется. Тут есть свои недостатки - к примеру, Boolean поля у вас будут отображаться текстом (или вы должны заранее сделать заготовки CheckBox-ов). И незадействованные контролы юзер сможет сделать видимыми... Еще один вариант - для подчиненной формы можно использовать сторонний компонент-Grid - к примеру, Janus GridEx или DevXpress. И заодно уж вместо кривого Access-овского генератора отчетов можно использовать ActiveReports от Data Dynamics. Но тогда останется всего лишь сделать маленький шаг чтобы окончательно покинуть Access... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 13:21 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222MrShin, А через АПИ пример нигде не встречался, как события на форме отслеживать? Зачем API для этого, если все и без него прекрасно отслеживается/перехватывается. Проблема ведь не в отслеживании событий, а в том что Access не имеет возможности создавать контролы иначе как в режиме разработки формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 13:23 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrFвопрос___222MrShin, А через АПИ пример нигде не встречался, как события на форме отслеживать? Зачем API для этого, если все и без него прекрасно отслеживается/перехватывается. Проблема ведь не в отслеживании событий, а в том что Access не имеет возможности создавать контролы иначе как в режиме разработки формы.И получается, что все эти манипуляции с динамическим созданием контролов - суть "для себя", поскольку возможны лишь в mdb, то есть не для серьезной передачи продукта пользователю ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 13:28 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
[quot __Michelle]AndrFпропущено... И получается, что все эти манипуляции с динамическим созданием контролов - суть "для себя", поскольку возможны лишь в mdb, то есть не для серьезной передачи продукта пользователю Ну почему? Работает ведь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 14:09 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrFНу почему? Работает ведь.Разумеется, работает. Почему бы CreateControl не работать? В режиме конструктора. Ведь у Вас именно это (пример не посмотрела пока)? Я о том, что продукт в эксплуатацию передается в виде, по возможности исключающем для пользователей соблазн осознанно или не очень "поучаствовать в разработке". То есть, передается в формате mde. А там Design mode нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 14:26 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
__MichelleЯ о том, что продукт в эксплуатацию передается в виде, по возможности исключающем для пользователей соблазн осознанно или не очень "поучаствовать в разработке". То есть, передается в формате mde. А там Design mode нет. Access-овские поекты это все же, в подавляющем числе случаев, внутриконторские разработки, а не заказной или покупной продукт. И, честно говоря очень мало видел реальных проектов с MDE-шками. Не доживают они, как правило, до этого. Становятся монстроидальными и заказчики переходят или на другое средство разработки или покупной продукт. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 15:03 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
AndrFAccess-овские поекты это все же, в подавляющем числе случаев, внутриконторские разработки, а не заказной или покупной продукт. that depends.... AndrFИ, честно говоря очень мало видел реальных проектов с MDE-шками. Не доживают они, как правило, до этого. Становятся монстроидальными и заказчики переходят или на другое средство разработки или покупной продукт.Доживают-доживают.))) А монстроидальными могут быть и процедурки на страничку.))) Опять же, that depends.... Да и внутри одной конторы это может быть система на 50-100 рабочих мест (не фантазии - реальность) в многоэтажном здании. Конечно, только mde. Переход впоследствии осуществился (не совсем безболезненно, на Axapta), но до этого годами работали. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2017, 15:35 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222Здравствуйте! Запрос назначен в качестве подчиненной формы Подскажите, пож, есть ли возможность отловить и обработать событие doubleclick полей подчиненной формы? Заранее спасибо! был такой топик (обрати внимание на сообщения уважаемого Панурга) http://www.sql.ru/forum/1102613/sobytiya-kontrolov-podchinennoy-tablicy-zaprosa-na-forme ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 06:07 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
guest_rusimport,был такой топик (обрати внимание на сообщения уважаемого Панурга) спасибо за ответ там реализовано как уже предлагалось: MrShinЕсли набор колонок все же конечен, то создайте подформу со всеми возможными колонками и прячте те, которые не вошли в запрос. Можно также создать подформу с контролами с абстрактными названиями, а источники данных и надписи для колонок присваивать уже динамически в зависимости от запроса. Думал воспользоваться услугами среды по созданию подчиненной формы, а события полей перехватить как перехватываются события самой подчиненной формы. Похоже, все-таки нельзя - жаль. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2017, 06:58 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222guest_rusimport,был такой топик (обрати внимание на сообщения уважаемого Панурга) спасибо за ответ там реализовано как уже предлагалось: MrShinЕсли набор колонок все же конечен, то создайте подформу со всеми возможными колонками и прячте те, которые не вошли в запрос. Можно также создать подформу с контролами с абстрактными названиями, а источники данных и надписи для колонок присваивать уже динамически в зависимости от запроса. Думал воспользоваться услугами среды по созданию подчиненной формы, а события полей перехватить как перехватываются события самой подчиненной формы. Похоже, все-таки нельзя - жаль. access 2003 , субклассирование + таймер (за стабильность работы не отвечаю, просто как идея :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2017, 08:34 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
guest_rusimport, спасибо за идею, буду думать ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2017, 13:18 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
guest_rusimportaccess 2003 , субклассирование + таймер (за стабильность работы не отвечаю, просто как идея :) почему-то у меня вешает всю систему - буду разбираться постепенно. Но параллельно смотрю решение попроще - с применением классов с объектами WithEvents Стало интересно - для обычной сабформы (т.е. для которой есть сохраненный макет) допускается создать экземпляр класса, в котором переопределяются события. В том же классе создаю классы с переопределением событий для всех текстовых полей сабформы. Все работает. Для сабформы, не имеющей сохраненного макета (источник- запрос), экземпляр класса создается, но переопределение событий (="[Event procedure]") не работает - ошибки при присвоении нет, просто не срабатывает событие. Можно только задать макрос для событий, не имеющих параметров. При создании экземпляров класса для каждого текстового поля сабформы - 2455 Введенное выражение содержит недопустимую ссылку на свойство "OnDblClick". Сравниваю ControlType текстового поля в сабформе - там, где есть макет, =109, где нет макета =116. Хотя и в первом и втором случае присваивание поля объектной переменной AS TextBox осуществляется без ошибки. Кто-нибудь знает, что это за тип - 116? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2017, 09:04 |
|
события в подчиненной форме
|
|||
---|---|---|---|
#18+
вопрос___222почему-то у меня вешает всю систему - буду разбираться постепенно. проверял на access 2003 под winxp и win7 - проблем не было... при открытой форме в редактор VBA лучше не лезть - последствия не предсказуемы ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2017, 10:55 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1612445]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 322ms |
total: | 477ms |
0 / 0 |