如果需要在DAO中将绑定窗体中的记录排序,可以使用Sort 属性来进行,其方法与OrderBy 属性的使用方法基本相同,其具体的语法格式:
[记录集].Sort ='[排序字段名]'
DAO 的Sort 属性可以在“DynaSetType”或“SnapShotType” 的 Recordset 对象中使用,所以打开记录集应该设置为这两种类型之一。
只设置Sort 属性,不能够实现对记录的排序。需要先执行Recordset 属性的OpenRecordset方法,重新设置已经排序的Recordset,然后将排序后的Recordset对象设置到窗体的RecordSet 中。
Set [排序后的记录集]=[排序后的记录集].OpenRecordset
Set me.Recordset=[排序后的记录集]
将当前窗体的记录集设置为排序后的记录集后,还需要使用Requery 方法重绘窗体,其具体语法为:
me.Requery
截 图:
排序前:
排序后:
源 码:
'通过DAO方法根据窗体的数据来源查询
'实现对窗体中的记录按照姓名实现排序的目的
Private Sub cmd_排序_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
'根据当前打开的数据库中的“Q_学生基本信息”查询来取得记录集Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset('Q_学生基本信息', dbOpenDynaset)
'根据姓名排序
rs.Sort = '姓名'
'再次取得记录集Recordset
Set rs = rs.OpenRecordset
'设置窗体中的记录集Recordset,重新绘制窗体
Set Me.Recordset = rs Me.Requery
'释放记录集Recordset和数据库
Set rs = Nothing
Set db = NothingEnd Sub
联系客服