|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
Суть вопроса: Есть ли способ получить ссылку на контрол Subform из подчиненной формы открытой в этом контроле? По свойству Parent возвращается родительская форма, а нужен элемент родительской формы в котором эта подчиненная форма открыта. Собственно основная задача отловить потерю фокуса элементом управления подчиненной формы при переходе к родительской (в идеале любом выходе за ее пределы) насколько я понял, после тыканий и лазания по форумам единственный сколько-то приемлемый метод - перехват OnExit контрола субформы, но подписаться на него по условиям задачи можно только из контекста контрола самой подчиненной формы. Это все нужно в рамках экспериментов с плавающей кнопкой. Подопытный экземпляр во вложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 17:05 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
iKaRus, После имени контрола Subform нужно просто добавить ".Form", после чего становятся доступны все контролы субформы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 18:43 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
MrShin, Спасибо за ответ. Но к сожалению это не совсем то что я имел ввиду. Насколько я понял вы предлагаете прямо обратиться по имени контрола но я могу его не знать, форма может быть открыта как подчиненная в разных контролах. Вероятно я не вполне корректно сформулировал. Задача находясь в подчиненной форме определить в каком контроле она была открыта и получить на него ссылку ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 19:54 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
iKaRus, В свое время у меня был аналогичный вопрос, но применительно к отчетам. Мне очень помогли. Посмотрите эту тему Как из отчета узнать имя контрола (подчиненный отчет), в кот. этот отчет лежит? . ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 20:02 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
iKaRus, Я не предлагаю обратиться по имени. Если вы, находясь в подчиненной форме укажете Код: vbnet 1.
то получите ссылку на контрол (форму), в котором была открыта подформа. Вот хороший ресурс по ссылкам. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 21:07 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
__Michelle, Посмотрел, спасибо, да это мой случай. Как я понял идея в переборе всех контролов родительской формы и сравнении в случае если это контрол субформы их объектов с собой по Is. Очень не хочется идти этим путем, проще при инициализации передать контрол доппараметром будет эффективнее. Я надеялся на какой-нибудь более прямой и изящный путь. К сожалению, похоже микрософт прямых путей не любит, - тупик, как с LostFocus`om в субформе... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 21:08 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
__Michellei...Посмотрите эту тему ... Как всегда, только ссылка на ссылку, а не конкретная помощь на конкретном примере. Не каждый может применить чего то к своей БД. Ссылающемуся это обычно раз плюнуть, а вопрошаюшему может и месяца не хватить, что бы по аналогии сотворить у себя. Модератор: Та же настоятельна просьба: не занимайтесь провокациями. После того, как я банил Мишелле за то же самое, с вас будет двойной спрос. Обходите друг друга вниманием, пожалуйста. Или перенесите свои священные войны куда-нибудь в приват. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 21:13 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
MrShin, Да, я Вас не правильно понял. Я смотрел этот ресурс, возможно не разобрался, но как раз благодаря нему я пришел к выводу что просто эта задача не решается и решил обратиться сюда. мне нужна ссылка не на родительскую форму а на контрол типа Access.Subform родительской формы в котором в качестве подчиненной формы открыта форма из которой я ее запрашиваю. Почему так сложно - инициализация элемента управления происходит на уровне формы которая может открываться как подчиненная в разных местах. Почему нужен именно Access.Subform при переводе фокуса из подчиненной формы в родительскую не возникает события LostFocus у контрола подчиненной формы, но возникает OnExit у контррола Access.Subform в котором открыта подчиненная форма на которой находится контрол теряющий фокус. Именно этот момент надо отловить. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 21:19 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
iKaRus, На всякий случай: я часто пользуюсь парой функций под катом для передачи ссылки на форму в текстовом виде вне зависимости от места нахождения формы, первая переводит ссылку на форму в текст, вторая восстанавливает ссылку из текста. Может помочь Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 21:29 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
MrShin, Спасибо. Может пригодиться. А вот, кстати про frm.Parent.ActiveControl - я не подумал - эта идея может сработать, попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2016, 22:11 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
К сожалению через ActiveControl родительской формы не получилось - в момент инициализации Subform не имеет фокуса, дергать его тоже не выход. Попробовал инициализировать/разрушать кнопку через прямой контроль над событиями контрола из родительской формы - убедился что решение бесперспективное - т.к. субформы могут быть вложены одна в другую и при переходе из субформы с кнопками через одну события все равно не будет - так что смысл дальнейших поисков ссылки на контрол субформы теряется. Похоже придется ловить потерю фокуса и перемещения скролбоксов по таймеру - очень не хотелось. Результаты экспериментов во вложении. Всем пытавшимся помочь - спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 10:09 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
iKaRusК сожалению через ActiveControl родительской формы не получилось - в момент инициализации Subform не имеет фокуса Если фокуса нет, то можно определить имя контрола субформы перебрав все контролы родительской формы и найдя субформу с именем в свойстве SourceObject, совпадающим с именем субформы ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 10:48 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
MrShiniKaRusК сожалению через ActiveControl родительской формы не получилось - в момент инициализации Subform не имеет фокуса Если фокуса нет, то можно определить имя контрола субформы перебрав все контролы родительской формы и найдя субформу с именем в свойстве SourceObject, совпадающим с именем субформыЯ так понимаю, что одна и та же форма становится источником разных контролов, т. е. , имя в SourceObject будет одно и то же. Вот здесь 19706232 ссылка на более надежный и универсальный способ. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 11:05 |
|
Обращение элементу подчиненная форма из контекста подчиненной формы
|
|||
---|---|---|---|
#18+
MrShin, Это не очень красивый путь, но я возможно пошел бы на него если бы в процессе экспериментов сама идея себя не дискредитировала. Это был обходной маневр чтобы отловить LostFocus (при чем это решало только часть проблемы - оставались скроллы, рекордселектор и др.). для того чтобы отловить его таким путем нужен, видимо, еще более длинный обходной путь, а результат (надежный отлов потери фокуса контролом субформы), как выяснилось, даже в рамках частичной задачи этот способ не обеспечивает. Так что в рамках моей задачи этот вариант отпадает. В качестве компенсации за потраченное время могу предложить свою базу-пустышку. полезна тем что содержит макросы для бэкапа/восстановления объектов базы данных. Отличается от имеющихся тем, что может сохранять информацию о прилинкованых таблицах. Довольно старая - косяков и мусора достаточно, но меня много раз выручала при повреждениях баз, - возможно полезна будет и вам. Еще раз всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 11:24 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1613117]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 360ms |
total: | 521ms |
0 / 0 |