Recordset.Sort方法不排序

问题描述 投票:0回答:2

我第一次使用 .Sort 但通过谷歌搜索以下内容应该可以工作,但调试打印输出未排序。

Function SortByYear(ByVal z As DAO.Recordset) As String
 Dim mySortedRS As DAO.Recordset
 z.Sort = "Year"
 Set mySortedRS = z
    Do
        Debug.Print mySortedRS!Year
        mySortedRS.MoveNext
    Loop Until mySortedRS.EOF
Set mySortedRS = Nothing
End Function
sql sorting ms-access
2个回答
2
投票

当你

Set mySortedRS = z

您不是在创建新的

Recordset
对象,您只是创建一个指向现有
Recordset
对象的新变量。要创建一个新的(已排序的)
Recordset
,您需要使用

Set mySortedRS = z.OpenRecordset

欲了解更多信息,请参阅

Recordset.Sort 属性 (DAO)


0
投票
Set rst = db.OpenRecordset(strSQL)
rst.Sort = "Year Ascending, Month Descending"
Set mySortedRS = rst.Openrecordset 'Reopen recordset with sort as
© www.soinside.com 2019 - 2024. All rights reserved.