当前位置:编程学习 > VB >>

对记录排序

rs.Open "select * from table1 where 姓名=a order by 日期,号码 union all select '合计',count(号码),'','','','' from table1 where 姓名=a", cn


我想先按日期排序,再按号码排序,最后+上合计行。可照我上面的代码排序不对或者说根本没有排序。

如果把order by放到最后面,比如:
rs.Open "select * from table1 where 姓名=a union all select '合计',count(号码),'','','','' from table1 where 姓名=a order by 日期,号码", cn

这样的话排序是正确了,可合计行变成第一行了。

有什么办法排序正确并且使合计成为最后一行吗? --------------------编程问答-------------------- 在rs.Open后添加:
rs.sort="日期,号码" --------------------编程问答-------------------- 谢谢  Tiger_Zhao 

但是合计还是在第一行阿 --------------------编程问答-------------------- try:



select f1,f2,f3,f4,f5,f6
from (
select 1 as t,f1,f2,f3,f4,f5,f6 from table1 where f1='a'   
union all   
select 2,'合计',count(号码),'','','','' from table1 where f1='a' 
)
order by t,f1,f2

--------------------编程问答--------------------


select f1,f2,f3,f4,f5,f6
from (
select 1 as t,f1,f2,f3,f4,f5,f6 from table1 where f1='a'   
union all   
select 2,'合计',count(f2),'','','','' from table1 where f1='a' 
)
order by t,f1,f2


--------------------编程问答-------------------- select * from 
(select * from table1 where 姓名=a 
union all 
select '合计',count(号码),'','','','' from table1 where 姓名=a)t
order by (case 第一列名 when '合计' then 1 else 0 end),日期,号码 --------------------编程问答-------------------- SQL中将合计行的日期列设为最大日期值9999-12-31。
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,