我有一个子窗体显示一个简单的数据网格,允许用户对列进行升序或降序排序。参数化查询在排序上重新评估
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似乎都会重新评估基础查询,提示用户手动输入参数,而不是从组合框中获取参数值。
有没有一种方法,我可以将我的组合框的值绑定到查询的参数或重写排序和过滤功能,以便我可以直接在vba中实现记录集的排序?
如果我没有弄错,那不会从datagrid中捕获排序事件。 – narain
在UI中排序不需要。如果这是你所看到的,那么其他事情正在发生。 – Gustav
是的,这是我遇到的问题。当我选择一个列并为其升序或降序时,重新评估基础查询。 – narain