powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как обращаться к элементам подчиненных форм?
25 сообщений из 26, страница 1 из 2
Как обращаться к элементам подчиненных форм?
    #39909042
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация следующая:
Я воял ленточную форму "frmKI_PKI",
все события в модуле VBA писались соответственно в модуле формы.
Теперь эту форму я накинул на новую форму "frmKI_PKI_Main" имя подчиненной формы/отчета frmKI_PKIPODCH.
Новую форму "frmKI_PKI_Main" я накинул еще и на вкладку набора вкладок "InsFORM" которая в свою очередь располагается на главной форме MainForm.
Теперь при выполнении техже операций (нажатии кнопок и т.д.) у меня компилятор ругается на наименование объектов.
Например,в ленточной форме было событие добавления записи которое работало:
With Forms("frmKI_PKI")
!TipPKI = Me.cboShifrPKI
!NaimenovPKI = naimenPKI
!Sistema = NaimenSistemi
.......
.......
.......
End with
Но теперь на строке With Forms("frmKI_PKI") выдается ошибка ПРИЛОЖЕНИЕ НЕ УДАЕТСЯ НАЙТИ
ФОРМУ frmKI_PKI".Подскажите пожалуйста правильный синтаксис обращения
Давно уже с этим парюсь 😢
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909182
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909211
Где находятся кнопки?
А, в принципе, полный путь к субформе извне:
Forms!MainForm!frmKI_PKI_Main.Form!frmKI_PKI.Form

Из модуля MainForm:
Me!frmKI_PKI_Main.Form!frmKI_PKI.Form
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909226
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий
Где находятся кнопки?
А, в принципе, полный путь к субформе извне:
Forms!MainForm!frmKI_PKI_Main.Form!frmKI_PKI.Form

Из модуля MainForm:
Me!frmKI_PKI_Main.Form!frmKI_PKI.Form

Благодарю за помощь, завтра протестирую-отпишусь.
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909228
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

Премного благодарен
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909377
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий
Где находятся кнопки?
А, в принципе, полный путь к субформе извне:
Forms!MainForm!frmKI_PKI_Main.Form!frmKI_PKI.Form

Из модуля MainForm:
Me!frmKI_PKI_Main.Form!frmKI_PKI.Form

Нет,все равно выдаётся сообщение о том,что приложению не удается найти указанную форму.
Строка выглядит так:
With Forms (""Forms!MainForm!frmKI_PKI_Main.Form!frmKI_PKI.Form")
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909386
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
With Forms (""Forms!Main...

Сразу бросилось в зоркий глаз

2 раза - Forms
2 раза - Двойные кавычки перед открывающей скобкой.
В где то в тут зырить нужно.
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909394
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем матрешка такая:
На простую форму "frmKomplektIzdeliya" я внедряю ленточную форму "frmKI_PKI" (имя подчиненной задаю "frmKI_PKIonMain").
После этого,простую форму "frmKomplektIzdeliya" я внедряю на главную MainForm (имя подчиненной задаю "frmKomplektIzdeliyaonMain").
Вот так работает нормально:
With Forms!MainForm.frmKomplektIzdeliyaonMain.Form.frmKI_PKIonMain
!TipPKI = Me.cboShifrPKI
!NaimenovPKI = naimenPKI
..........
..........
..........
End With
Хочу обратить внимание на тот факт,что при обращении к контролам подчиненной формы или самой подчиненной форме
мы ссылаемся не на оригинальные имена форм, как мы их вояли изначально,а на имена ПОДЧИНЕННЫХ ФОРМ (что мы задавали мастеру) в которых
мы облекали наши подчиненные формы...
Т.е. форма, которую я хотел внедрить на MainForm называлась frmKomplektIzdeliya например,
а во время внедрения я задал ей название frmKomplektIzdeliyaonMain.Таким образом,при обращении к контролу подчиненной
формы будет надо написать следующее:
Forms!MainForm.frmKomplektIzdeliyaonMain.form.frmKI_PKIonMain.Controls("ИмяКотнрола")
Это - самая главная "фишка" при обращении к объектам вложенных форм!
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909400
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Вообщем матрешка такая:
На простую форму "frmKomplektIzdeliya" я внедряю ленточную форму "frmKI_PKI" (имя подчиненной задаю "frmKI_PKIonMain").
После этого,простую форму "frmKomplektIzdeliya" я внедряю на главную MainForm (имя подчиненной задаю "frmKomplektIzdeliyaonMain").
Вот так работает нормально:
With Forms!MainForm.frmKomplektIzdeliyaonMain.Form.frmKI_PKIonMain
!TipPKI = Me.cboShifrPKI
!NaimenovPKI = naimenPKI
..........
..........
..........
End With
Хочу обратить внимание на тот факт,что при обращении к контролам подчиненной формы или самой подчиненной форме мы ссылаемся не на оригинальные имена форм, как мы их вояли изначально,а на имена ПОДЧИНЕННЫХ ФОРМ (что мы задавали мастеру) в которых
мы облекали наши подчиненные формы...
Т.е. форма, которую я хотел внедрить на MainForm называлась frmKomplektIzdeliya например,
а во время внедрения я задал ей название frmKomplektIzdeliyaonMain.Таким образом,при обращении к контролу подчиненной
формы будет надо написать следующее:
Forms!MainForm.frmKomplektIzdeliyaonMain.form.frmKI_PKIonMain.Controls("ИмяКотнрола")
Это - самая главная "фишка" при обращении к объектам вложенных форм!

А самый прикол в том,чтобы задать рекордсоурс этой же форме,надо написать следующую строку:
Forms!MainForm.frmKomplektIzdeliyaonMain.Form.frmKI_PKIonMain.Form.Recordsource="Select ...."
Офигеть, закономерности нет, только метод "интуитивного тыка"
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909405
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
...
Офигеть, закономерности нет, ...

Закономерность есть,
а базовых знаний у некоторых экспериментаторов нет.
:)
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909408
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty

...Т.е. форма, которую я хотел внедрить на MainForm называлась frmKomplektIzdeliya например,а во время внедрения я задал ей название frmKomplektIzdeliyaonMain.
а еще в конструкторе таблиц надо задавать подписи полей,тогда через пол-годика не то что кто-то,а Вы и сами фиг разберетесь в коде
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909411
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared и sdku,
...где же вы были такие ГРАМОТНЫЕ когда надо было дать ква-ква-квалифицированый ответ по теме топика? 🤔🤔🤔
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909422
drafty, могу дать практический совет.
В модуле главной формы объявите переменную типа Form (например Dim sfrm As Form) и Form_Load выполните:
Set sfrm = Me!frmKomplektIzdeliyaonMain.Form.frmKI_PKIonMain.Form
Далее во всех обращениях к субформе используйте эту переменную.
Кроме того, если объявить переменную квк Dim WithEvents sfrm As Form, то в модуле главной формы можно обрабатывать и события субформы.
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909424
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
...где же вы были такие ГРАМОТНЫЕ...

Панург дал достаточно квалифицированный ответ сутки назад,
нам надо было повторить, чтобы:
"Шутка, повторенная дважды, становится понятнее." ?
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909428
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий
drafty, могу дать практический совет.
В модуле главной формы объявите переменную типа Form (например Dim sfrm As Form) и Form_Load выполните:
Set sfrm = Me!frmKomplektIzdeliyaonMain.Form.frmKI_PKIonMain.Form
Далее во всех обращениях к субформе используйте эту переменную.
Кроме того, если объявить переменную квк Dim WithEvents sfrm As Form, то в модуле главной формы можно обрабатывать и события субформы.

Ценный совет,не спорю,меня давно интересовал факт объявления переменной типа Form, встречал его в кодах,но не понимал назначения практического применения данного метода
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909432
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared
drafty
...где же вы были такие ГРАМОТНЫЕ...

Панург дал достаточно квалифицированный ответ сутки назад,
нам надо было повторить, чтобы:
"Шутка, повторенная дважды, становится понятнее." ?

Ну во-первых сообщение 22050702 было адресовано не Панургу,а во-вторых,в ссылке на хэлп (от Панурга) указан совсем другой синтаксис нежели приведенный мною выше в качестве решения...
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909438
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared
drafty
...где же вы были такие ГРАМОТНЫЕ...

Панург дал достаточно квалифицированный ответ сутки назад,
нам надо было повторить, чтобы:
"Шутка, повторенная дважды, становится понятнее." ?


Вот синтаксис от хэлпа,что указан Панургом:
1)Forms![Форма1].Controls![Форма2].Form.Controls![Поле1].Value
А вот что по факту получается:
2)Forms!MainForm.frmKomplektIzdeliyaonMain.form.frmKI_PKIonMain.Controls("ИмяКотнрола). Value
Есть разница???
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909444
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рука-лицо!

Хелп писан для изучения вопроса,
а не для решения конкретной поделки конкретного мембера, спустя десяток/другой лет.

И, да: Рвать зубы через "известный" проход не очень удачное решение. :)
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909463
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared
Рука-лицо!

Хелп писан для изучения вопроса,
а не для решения конкретной поделки конкретного мембера, спустя десяток/другой лет.

И, да: Рвать зубы через "известный" проход не очень удачное решение. :)

Разница в том,что у меня это выглядит так:
Forms![Форма1].[ПодчиненнаяФорманаФорме1].Form.[ПодчиненнаяФорманаПодчиненнойФорменаФорме1].Controls("ИмяКонтрола")
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909466
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty, синтаксис обращения к объекту везде выглядит одинаково в VBA. Вне зависимости от объекта - форма там, приложение или ещё чего.
То что ты написал не вполне канонично, но допустимо.
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909470
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
drafty, синтаксис обращения к объекту везде выглядит одинаково в VBA. Вне зависимости от объекта - форма там, приложение или ещё чего.
То что ты написал не вполне канонично, но допустимо.

Я в этом никогда не сомневался...Вот только в 22050750 я хотел подчеркнуть,что часто бывает так,что в хэлпе не полностью раскрыты некоторые нюансы (которые требуют разьясненений).
Вот например строка:
Forms![Форма1].Controls![Форма2].Form.Controls![Поле1].Value
Теперь пойми блин,что подразумевается под выражением Форма2,толи ее оригинальное название,толи ее название которое она приобретает в качестве подчинённой формы.
Не спорю,тому,кто долго практикуется на этом-достаточно прочитать разъяснения,а тому кто только пытается отделить зерна от плевел-нужна однозначно истолковываемая нотация (или в моем понимании-мнемонический синтаксис)
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909475
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
...
Вот например строка:
Forms![Форма1].Controls![Форма2].Form.Controls![Поле1].Value
Теперь пойми блин,что подразумевается под выражением Форма2,толи ...


А перед ним слово Controls ни на какие мысли не наводит?

И до штатного F1 не дотянуться?
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909480
Фотография drafty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared
drafty
...
Вот например строка:
Forms![Форма1].Controls![Форма2].Form.Controls![Поле1].Value
Теперь пойми блин,что подразумевается под выражением Форма2,толи ...


А перед ним слово Controls ни на какие мысли не наводит?

И до штатного F1 не дотянуться?

Пользование хэлпом не должно НАВОДИТЬ на мысли,а должно давать исчерпывающую и однозначно трактуемую информацию (в идеале) независимо от квалификации специалиста практикующегося в данной предметной области.Поэтому люди иногда и пренебрегают "хэлпами" и предпочитают получить конкретный ответ,а их к сожалению-высмеивают
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909488
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну-да, ну-да.

Подводя итоги нытия:
1. Системы в синтаксисе нет.
2. Злые мемберы не набрасываются писать разжеванные ответы через секунду после задания вопроса.
3. Местный фак писали недоумки, разжевать разжевали, да в рот не положили.
4. Штатный хелп вообще писали индусы, да исчо и на аглицком.
5. Фсе вокруг пи-сы, один я д'Артаньян.


Все это проходили на этом ресурсе и не раз.
...
Рейтинг: 0 / 0
Как обращаться к элементам подчиненных форм?
    #39909499
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drafty
Пользование хэлпом не должно НАВОДИТЬ на мысли,а должно давать исчерпывающую и однозначно трактуемую информацию (в идеале) независимо от квалификации специалиста практикующегося в данной предметной области.Поэтому люди иногда и пренебрегают "хэлпами" и предпочитают получить конкретный ответ,а их к сожалению-высмеивают
Специалист должен прочесть весь хелп и/или понимать в каком месте обращаются к какому объекту
Forms -коллекция экземпляров форм проекта.
![Форма1] - получение конкретного экземпляра формы по имени. Это получается не всегда.
.Controls - получение коллекции контролов конкретного экземпляра формы.
![Форма2] - получение конкретного контрола SubForm коллекции контролов конкретного экземпляра формы.
.Form - получение содержимого свойства конкретного контрола SubForm коллекции контролов конкретного экземпляра подчиненной формы. Это форма.
.Controls - получение коллекции контролов конкретного экземпляра формы.
![Поле1] - получение конкретного контрола коллекции контролов.
.Value - получение значения свойства конкретного контрола.

drafty
Теперь пойми блин,что подразумевается под выражением Форма2,толи ее оригинальное название,толи ее название которое она приобретает в качестве подчинённой формы.
Мне кажется это не так и сложно. Матрёшка.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как обращаться к элементам подчиненных форм?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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