Другой способ ускорить загрузку формы Microsoft Access с источником данных - PullRequest
1 голос
/ 21 октября 2011

Мне поручено устранить проблему с производительностью в форме Microsoft Access.Страница имеет источник данных, использующий запрос.Запрос объединяет несколько таблиц и выполняет суммирование.Проблема заключается в том, что при загрузке страницы форма использует фиктивное значение, например QueryColumn = 'ImplossibleValue', для отображения пустого списка.Форма содержит фильтр условий поиска и кнопку поиска.Когда нажата кнопка поиска, установлен правильный фильтр.

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

Ответы [ 3 ]

3 голосов
/ 21 октября 2011

Вы можете изменить источник записей на запрос, который возвращает нулевые значения и не должен ссылаться ни на одну из ваших таблиц.

SELECT Null AS field1, Null AS field2;

После того, как пользователь выберет свои критерии поиска, измените источник записей на запрос, который включает этикритерии.Изменение источника записей автоматически вызывает запрос.

Если пользователь сохраняет дизайн формы после того, как источник записей был изменен на поисковый запрос, форма будет использовать его снова при следующем открытии.Вы можете принудительно открывать форму, используя запрос фиктивной строки в качестве источника записей, сбрасывая это свойство во время события открытия формы.

Me.RecordSource = "SELECT Null AS field1, Null AS field2;"
0 голосов
/ 27 февраля 2013

Когда вы открываете форму, используйте условие where в операторе docmd.openform. где primarykey = null, записей не будет, и вам не нужно отменять привязку всей формы.

0 голосов
/ 24 февраля 2012

У меня были подобные проблемы с производительностью в Jet 10 лет назад, и единственное решение, которое я нашел, - это перейти в Access Data Projects.

Увеличьте размер до клиент-серверного приложения с использованием SQL Server, запустите пару мастеров запросов, чтобы определить правильную индексацию, и вы получите отличную производительность в кратчайшие сроки.

...