Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как обращаться к элементам подчиненных форм? / 25 сообщений из 26, страница 1 из 2
27.12.2019, 14:32
    #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
27.12.2019, 16:42
    #39909182
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обращаться к элементам подчиненных форм?
...
Рейтинг: 0 / 0
27.12.2019, 17:23
    #39909211
Как обращаться к элементам подчиненных форм?
Где находятся кнопки?
А, в принципе, полный путь к субформе извне:
Forms!MainForm!frmKI_PKI_Main.Form!frmKI_PKI.Form

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

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

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

Премного благодарен
...
Рейтинг: 0 / 0
28.12.2019, 08:39
    #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
28.12.2019, 09:33
    #39909386
Лапух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обращаться к элементам подчиненных форм?
drafty
With Forms (""Forms!Main...

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

2 раза - Forms
2 раза - Двойные кавычки перед открывающей скобкой.
В где то в тут зырить нужно.
...
Рейтинг: 0 / 0
28.12.2019, 10:28
    #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
28.12.2019, 11:27
    #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
28.12.2019, 11:54
    #39909405
Predeclared
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обращаться к элементам подчиненных форм?
drafty
...
Офигеть, закономерности нет, ...

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

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

Панург дал достаточно квалифицированный ответ сутки назад,
нам надо было повторить, чтобы:
"Шутка, повторенная дважды, становится понятнее." ?
...
Рейтинг: 0 / 0
28.12.2019, 13:39
    #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
28.12.2019, 13:48
    #39909432
drafty
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как обращаться к элементам подчиненных форм?
Predeclared
drafty
...где же вы были такие ГРАМОТНЫЕ...

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

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

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


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

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

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

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

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

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

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


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

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


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

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

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

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


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

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


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