Если пользователь не видит все формы одновременно, вам не нужно тратить ресурсы / время на загрузку всех форм одновременно.Загружайте только то, что должен увидеть пользователь.NavigationControl очень хорош для этого.
Метод 1
Переход от документов с вкладками к NavigationControl
.Каждая вкладка загружена OnDemand
, поэтому запуск вашей основной формы будет намного быстрее.Если основная форма и форма с вкладками связаны друг с другом, используйте событие OnOpen
формы с вкладками для динамического изменения источника записи.
Т.е. Form_Open => me.RecordSource = Select * form T1 where T1.id = ParentForm.Id
Метод 2
Если вы не можете перейти к элементу навигации, имитируйте тот же эффект, что и выше.Когда вкладки изменяются / выбираются => основная форма получает источник записи.
Т.е.
Private Sub TabCtl2_Change()
If Me.TabCtl2.value = 1 Then
me.subform1.recordsource = source
me.subform1.LinkChildFields = linkingFieldName 'if related
me.subform1.LinkChildFields = LinkMasterFields 'if related
ElseIf Me.TabCtl2.value = 2 Then
'Your other form
end if
End Sub
Это может помочь вам сократить время загрузки.
[Каскадные наборы результатов] В случае, если все ваши формы показывают каскадные результаты, вы можете рассмотреть возможность удаления источника записей для всех ваших подчиненных форм, а затем повторно применять при каждом выборе.
Цель состоит в том, чтобы минимизировать время загрузки и показывать только необходимые данные, которые пользователь должен видеть / хотеть видеть.Надеюсь, это поможет понять.