Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

自定义序列排序数据

时 间:2015-11-30 13:33:29
作 者:杨雪   ID:42182  城市:南京
摘 要:通过编写SQL 语句排序数据:where 语句,union查询
正 文:

       要使用自定义的序列排序,首先需要使用where语句将符合条件的记录选取出来,语法格式:

 Select * from Q_员工工资  where [筛选条件]


      然后按照自定义的序列的顺序使用union 语句将这些where 语句链接起来,语法格式;

  "[SQL 语句1]"  union all "[SQL 语句2]" ......

       由于union 语句不能够在OpenForm方法的FilterName参数中使用,所以在开启窗体后必须先设置窗体的记录集。

如果直接将SQL 语句应用于窗体的Recordset属性中,会出现错误,必须现根据SQL语句制作过渡的DAO等的记录集,再设置到窗体中的记录集中,其具体语法格式:

 [DAO数据库名].OpenRecordset([SQL语句],dbOpenDynaset)


示例截图:

排序前:


排序后;


代码:

 Private Sub cmd_排序_Click()
    Dim db As DAO.Database
    Dim rs As Recordset
    Dim stsql As String
'使用SQL语句自定义排序顺序,并将其放置到字符串变量中
    stsql = "select * from Q_员工工资 where 部门='策划部'" _
    & " union all " _
    & "select * from Q_员工工资 where 部门='设计部'" _
    & " union all " _
    & "select * from Q_员工工资 where 部门='销售部'" _
    & " union all " _
    & "select * from Q_员工工资 where 部门='财务部';"
'在当前数据库中根据SQL语句自定义的排序顺序取得记录集
    Set db = CurrentDb()
    Set rs = db.OpenRecordset(stsql, dbOpenDynaset)
'打开“F_员工工资”窗体,将取得的排序后的记录集设置到窗体中
    DoCmd.OpenForm "F_员工工资"
    Set Forms!F_员工工资.Recordset = rs
    Set rs = Nothing
    Set db = Nothing
End Sub


示例下载:自定义序列排序数据





Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助