|
|
|
| Есть форма с множеством вкладок, на некоторых из них подформы. Грузится (и обновляется) медленно. Где-то я читал,. что можно не полностью грузить эти вкладки и подформы, а загружать только по мере обращения именно конкретной вкладке. Как это сделать реально? | |
|
| |
|
|
|
| может поможет свойство вкладки .Visible=false | |
|
| |
|
|
|
| не знаю как в аксесе, в бейсике можно обрабатывать событие OnClick() на этот контрол.
получаем номер текущей вкладки (.Tag) и загружаем нужные данные, т.е. при загрузке формы будут загружаться данные только для текущей вкладки, которую можно кстати задать в настройках программы | |
|
| |
|
|
|
|
| а что ?
я давно "соскочил" с аксеса
связка VB + Access (тока таблицы и запросы) - более надежна и транспортабельна
но есть нюансы VB vs VBA | |
|
| |
|
|
|
| Для начала проверьте, что является основной причиной задержки. Сделайте источники строк главной и субформ изначально не возвращающими записи и по очереди восстанавливайте.
Как раз, один из советов по ускорению форм в умных книжках - располагать субформы на вкладках. У вас на первой вкладке есть субформа? Если есть - с нее и начинайте.
Запустите Анализ быстродействия (меню Сервис), возможно он что-то подскажет.
ЗЫ. ГлФорма имеет источник строк? Как связаны субформы с главной? Субформы используются как самостоятельные?
ЗЗЫ При переключении вкладок срабатывает событие Change элемента "НаборВкладок", его и используйте. Его св-во Value возврашает индекс текущей вкладки. | |
|
| |
|
|
|
| Главная форма имеет источник строк. На первой вкладке (самой используемой) нет подформ, на других вкладках подформы самостоятельные. Но все равно не понятно, если вкладка не активна в первый момент, значит ли это, что контролы, которые принадлежат ей, не загружены? И для чего мне нужен индекс текущей вкладки? | |
|
| |