У меня есть база данных Access, которая использует связанные таблицы, находящиеся на SQL Server. Для одной из этих таблиц я создал простую форму, показывающую несколько полей базовой таблицы.Доступ к отображению первой записи при использовании комбинированного поля для переключения записей
Я хочу переключать записи с помощью комбинированного блока, поэтому я добавил его с помощью мастера Combo Box Wizard, где я выбрал опцию «Найти запись в моей форме на основе значения, выбранного мной в поле со списком».
Сопутствующее поле работает, но я заметил, что всякий раз, когда выбрано новое значение, Access будет кратковременно возвращаться к первой записи перед отображением выбранной записи. Я могу проверить это, заметив мерцание экрана (например, связанные поля кратко отображают данные из первой записи), а также профилирование вызовов SQL Server, где я могу увидеть один запрос для первой записи, а другой запрос для выбранная запись.
Эта проблема не возникает, если я использую следующие/предыдущие навигационные кнопки в нижней части формы.
Как избежать этого ненужного запроса?
Что было сделано с помощью мастера, это создать макрос за событием вашего вызова combobox. Вероятно, это выглядит примерно так: ',, First, =" [SomeField] = "& Str (Nz (Screen.ActiveControl, 0))' .. То, что вы действительно можете сделать, вместо использования макроса, следует за чем-то вроде [this] (http://allenbrowne.com/ser-03.html) –
@Invent - Анимация - Это работает, спасибо. У вас есть объяснение, почему Access ведет себя так? Если вы переместите свой комментарий к ответу, я могу принять его. – matk