|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Ситуация следующая: Я воял ленточную форму "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".Подскажите пожалуйста правильный синтаксис обращения Давно уже с этим парюсь 😢 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 14:32 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 16:42 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Где находятся кнопки? А, в принципе, полный путь к субформе извне: Forms!MainForm!frmKI_PKI_Main.Form!frmKI_PKI.Form Из модуля MainForm: Me!frmKI_PKI_Main.Form!frmKI_PKI.Form ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 17:23 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Кривцов Анатолий Где находятся кнопки? А, в принципе, полный путь к субформе извне: Forms!MainForm!frmKI_PKI_Main.Form!frmKI_PKI.Form Из модуля MainForm: Me!frmKI_PKI_Main.Form!frmKI_PKI.Form Благодарю за помощь, завтра протестирую-отпишусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 17:35 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Панург Премного благодарен ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 17:38 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Кривцов Анатолий Где находятся кнопки? А, в принципе, полный путь к субформе извне: 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") ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 08:39 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
drafty With Forms (""Forms!Main... Сразу бросилось в зоркий глаз 2 раза - Forms 2 раза - Двойные кавычки перед открывающей скобкой. В где то в тут зырить нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 09:33 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Вообщем матрешка такая: На простую форму "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("ИмяКотнрола") Это - самая главная "фишка" при обращении к объектам вложенных форм! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 10:28 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
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 ...." Офигеть, закономерности нет, только метод "интуитивного тыка" ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 11:27 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
drafty ... Офигеть, закономерности нет, ... Закономерность есть, а базовых знаний у некоторых экспериментаторов нет. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 11:54 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
drafty ...Т.е. форма, которую я хотел внедрить на MainForm называлась frmKomplektIzdeliya например,а во время внедрения я задал ей название frmKomplektIzdeliyaonMain. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 12:13 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Predeclared и sdku, ...где же вы были такие ГРАМОТНЫЕ когда надо было дать ква-ква-квалифицированый ответ по теме топика? 🤔🤔🤔 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 12:35 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
drafty, могу дать практический совет. В модуле главной формы объявите переменную типа Form (например Dim sfrm As Form) и Form_Load выполните: Set sfrm = Me!frmKomplektIzdeliyaonMain.Form.frmKI_PKIonMain.Form Далее во всех обращениях к субформе используйте эту переменную. Кроме того, если объявить переменную квк Dim WithEvents sfrm As Form, то в модуле главной формы можно обрабатывать и события субформы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 13:24 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
drafty ...где же вы были такие ГРАМОТНЫЕ... Панург дал достаточно квалифицированный ответ сутки назад, нам надо было повторить, чтобы: "Шутка, повторенная дважды, становится понятнее." ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 13:30 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Кривцов Анатолий drafty, могу дать практический совет. В модуле главной формы объявите переменную типа Form (например Dim sfrm As Form) и Form_Load выполните: Set sfrm = Me!frmKomplektIzdeliyaonMain.Form.frmKI_PKIonMain.Form Далее во всех обращениях к субформе используйте эту переменную. Кроме того, если объявить переменную квк Dim WithEvents sfrm As Form, то в модуле главной формы можно обрабатывать и события субформы. Ценный совет,не спорю,меня давно интересовал факт объявления переменной типа Form, встречал его в кодах,но не понимал назначения практического применения данного метода ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 13:39 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Predeclared drafty ...где же вы были такие ГРАМОТНЫЕ... Панург дал достаточно квалифицированный ответ сутки назад, нам надо было повторить, чтобы: "Шутка, повторенная дважды, становится понятнее." ? Ну во-первых сообщение 22050702 было адресовано не Панургу,а во-вторых,в ссылке на хэлп (от Панурга) указан совсем другой синтаксис нежели приведенный мною выше в качестве решения... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 13:48 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Predeclared drafty ...где же вы были такие ГРАМОТНЫЕ... Панург дал достаточно квалифицированный ответ сутки назад, нам надо было повторить, чтобы: "Шутка, повторенная дважды, становится понятнее." ? Вот синтаксис от хэлпа,что указан Панургом: 1)Forms![Форма1].Controls![Форма2].Form.Controls![Поле1].Value А вот что по факту получается: 2)Forms!MainForm.frmKomplektIzdeliyaonMain.form.frmKI_PKIonMain.Controls("ИмяКотнрола). Value Есть разница??? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 14:36 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Рука-лицо! Хелп писан для изучения вопроса, а не для решения конкретной поделки конкретного мембера, спустя десяток/другой лет. И, да: Рвать зубы через "известный" проход не очень удачное решение. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 15:00 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Predeclared Рука-лицо! Хелп писан для изучения вопроса, а не для решения конкретной поделки конкретного мембера, спустя десяток/другой лет. И, да: Рвать зубы через "известный" проход не очень удачное решение. :) Разница в том,что у меня это выглядит так: Forms![Форма1].[ПодчиненнаяФорманаФорме1].Form.[ПодчиненнаяФорманаПодчиненнойФорменаФорме1].Controls("ИмяКонтрола") ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 17:46 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
drafty, синтаксис обращения к объекту везде выглядит одинаково в VBA. Вне зависимости от объекта - форма там, приложение или ещё чего. То что ты написал не вполне канонично, но допустимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 18:02 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Панург drafty, синтаксис обращения к объекту везде выглядит одинаково в VBA. Вне зависимости от объекта - форма там, приложение или ещё чего. То что ты написал не вполне канонично, но допустимо. Я в этом никогда не сомневался...Вот только в 22050750 я хотел подчеркнуть,что часто бывает так,что в хэлпе не полностью раскрыты некоторые нюансы (которые требуют разьясненений). Вот например строка: Forms![Форма1].Controls![Форма2].Form.Controls![Поле1].Value Теперь пойми блин,что подразумевается под выражением Форма2,толи ее оригинальное название,толи ее название которое она приобретает в качестве подчинённой формы. Не спорю,тому,кто долго практикуется на этом-достаточно прочитать разъяснения,а тому кто только пытается отделить зерна от плевел-нужна однозначно истолковываемая нотация (или в моем понимании-мнемонический синтаксис) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 18:39 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
drafty ... Вот например строка: Forms![Форма1].Controls![Форма2].Form.Controls![Поле1].Value Теперь пойми блин,что подразумевается под выражением Форма2,толи ... А перед ним слово Controls ни на какие мысли не наводит? И до штатного F1 не дотянуться? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 19:07 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Predeclared drafty ... Вот например строка: Forms![Форма1].Controls![Форма2].Form.Controls![Поле1].Value Теперь пойми блин,что подразумевается под выражением Форма2,толи ... А перед ним слово Controls ни на какие мысли не наводит? И до штатного F1 не дотянуться? Пользование хэлпом не должно НАВОДИТЬ на мысли,а должно давать исчерпывающую и однозначно трактуемую информацию (в идеале) независимо от квалификации специалиста практикующегося в данной предметной области.Поэтому люди иногда и пренебрегают "хэлпами" и предпочитают получить конкретный ответ,а их к сожалению-высмеивают ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 19:57 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
Ну-да, ну-да. Подводя итоги нытия: 1. Системы в синтаксисе нет. 2. Злые мемберы не набрасываются писать разжеванные ответы через секунду после задания вопроса. 3. Местный фак писали недоумки, разжевать разжевали, да в рот не положили. 4. Штатный хелп вообще писали индусы, да исчо и на аглицком. 5. Фсе вокруг пи-сы, один я д'Артаньян. Все это проходили на этом ресурсе и не раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 20:59 |
|
Как обращаться к элементам подчиненных форм?
|
|||
---|---|---|---|
#18+
drafty Пользование хэлпом не должно НАВОДИТЬ на мысли,а должно давать исчерпывающую и однозначно трактуемую информацию (в идеале) независимо от квалификации специалиста практикующегося в данной предметной области.Поэтому люди иногда и пренебрегают "хэлпами" и предпочитают получить конкретный ответ,а их к сожалению-высмеивают Forms -коллекция экземпляров форм проекта. ![Форма1] - получение конкретного экземпляра формы по имени. Это получается не всегда. .Controls - получение коллекции контролов конкретного экземпляра формы. ![Форма2] - получение конкретного контрола SubForm коллекции контролов конкретного экземпляра формы. .Form - получение содержимого свойства конкретного контрола SubForm коллекции контролов конкретного экземпляра подчиненной формы. Это форма. .Controls - получение коллекции контролов конкретного экземпляра формы. ![Поле1] - получение конкретного контрола коллекции контролов. .Value - получение значения свойства конкретного контрола. drafty Теперь пойми блин,что подразумевается под выражением Форма2,толи ее оригинальное название,толи ее название которое она приобретает в качестве подчинённой формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2019, 21:36 |
|
|
start [/forum/topic.php?fid=45&fpage=22&tid=1610307]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 141ms |
0 / 0 |