У меня есть подчиненная форма, которая отображает простой datagrid, который позволяет пользователю сортировать столбцы по возрастанию или убыванию.Параметрированный запрос переоценки при сортировке
Данные для этой сетки данных обеспечиваются с помощью обновления-функции, которая использует параметризованный запрос, чтобы установить RecordSource в сетке данных:
Dim query As DAO.QueryDef
Dim recordSet As DAO.Recordset
Set query = CurrentDb.QueryDefs("DatagridQuery")
query.Parameters("one").Value = combobox_1_value
query.Parameters("two").Value = combobox_2_value
Set recordSet = query.OpenRecordSet
Set Me.subform.From.Recordset = recordSet
В этом контексте combobox_1_value и combobox_2_value соответственно обеспечены два различных Наримера в родительской форме.
Проблема, которая возникает сейчас, заключается в том, что datagrid, по-видимому, повторно проверяет базовый запрос каждый раз, когда устанавливается свойство сортировки или фильтра, запрашивая пользователя для ввода вручную параметров, вместо того, чтобы извлекать значения параметров из значений combobox.
Есть ли способ связать значения моих списков с параметрами запроса или переопределить функции сортировки и фильтрации, чтобы я мог выполнять сортировку набора записей непосредственно в vba?
Это не поймает событие сортировки из datagrid, если я не ошибаюсь. – narain
Сортировка в пользовательском интерфейсе не требуется. Если это то, что вы видите, что-то еще происходит. – Gustav
Да, это проблема, которую я испытываю. Когда я выбираю столбец и заказываю его восходящий или нисходящий, базовый запрос переоценивается. – narain