对记录排序
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 * from
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 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 , 数据库(包含打印,安装,报表)