|
|
|
| Как бы исхитриться:
экземпляру класса формы подсунуть в качестве подчиненной
другой экземпляр класса этой-же формы?
| |
|
| |
|
|
|
| Чё та не видать теоритических ответов-советов | |
|
| |
|
23 Кб. |
|
| Эта как - так, што ли? | |
|
| |
|
|
|
| а для чего? Ведь подчиненная форма - это элемент управления, входящий в семейство Controls главной формы. А получить ссылку на подчинённую форму можно так:
Option Explicit
Private WithEvents frm As Form
Private Sub Form_Load()
Set frm = Me.SubForm1.Form
End Sub
|
| |
|
| |
|
|
|
44 Кб. |
|
| Да вот была мысль примерно такая:
Обе половинки - экземпляры класса одной формы, настраиваемые при открытии.
Но в качестве подчиненной, штатно, допускается указать имя формы.
А хотелось бы объехать по кривой это дело, и подсунуть в качестве подчиненной -
другой экземпляр этого -же класса формы. | |
|
| |
|
|
43 Кб. |
|
|
Таки смысл то как раз в том, что бы не плодить формы, а различными настройками
работать с разными сущностями экземплярами классов одной формы.
В прицепе: 9 экземпляров класса одной формы.
А чем занимается ваша контора
|
Лежим на диване, наращиваем сало. | |
|
| |
|
|
|
| Погоди, мож я чего то путаю, но форма является экземпляром( объектом) класса форм. Объект(форма) сам себе вставить не может. (читай текст ошибки выше). Потому и нужно создавать на лету временные экземпляры для вставки.
Фразу
работать с разными сущностями экземплярами классов одной формы
|
я перевести на русский не смог. | |
|
| |
|
|
|
|
создавать на лету временные экземпляры
|
Экземпляры то я создать могу, а вот подсунуть экземпляр в качестве подчиненной - нет.
Private Sub Form_Open(Cancel As Integer)
Me.frm2.SourceObject = "frm2" - только имя формы и все.
End Sub
|
работать с разными сущностями экземплярами классов одной формы
|
Имелось в виду следующее: не создавать для каждой простой таблицы (типа справочной)
отдельные формы-списки и формы-карточки, а использовать две формы (список + карточка),
настраивая их свойства при открытии для работы с данными конкретной таблицы(сущности).
В последнем прицепе у меня открыты 9 экземпляров класса одной формы для работы с данными 10 таблиц. | |
|
| |
|
24 Кб. |
|
|
а вот подсунуть экземпляр в качестве подчиненной - нет.
|
В форме frmMyForm жми на кноповку. Она "подсунуть экземпляр в качестве подчиненной " | |
|
| |
|
|
|
| Твоя мысль понятна и уже отработана.
Но она требует наличия второй сохраненной формы, которую мы подсовываем как подчиненную.
Поскольку у меня и главная и подчиненная практически идентичны, мне хотелось не иметь вторую
сохраненную форму, а подсовывать экземпляр класса этой-же формы в качестве подчиненной.
А уж если все-равно необходимо иметь вторую форму, то мне проще отказаться от подчиненной
и добавить в форму список + остальные контролы и скрывать-показывать их, в зависимости от настроек.
Сейчас так и реализовано.
Кстати на SQL_ru автор NEBO пишет, что у него 50 таблиц и 457 форм.
Какая-то на мой взгляд явная диспропорция. | |
|
| |
|
|
|
| Не обязательно. Может там куча форм с графиками или диаграммами или куча форм для формирования различных отчетов. | |
|
| |
|
|
|
| Ну я давеча обошелся двумя формами для вывода 45 отчетов, с возможностью создания выборок,
путем фильтрации и сортировки по каждому полю отчета и возможностью сохранения как новых отчетов.
Но это только для небольших палубных приложений годится, может у него серверное решение. | |
|
| |