SELECT id,title,type,money from tb union all select 0,汇总,"",sum(money) from tb
SELECT id,title,type,money from tb union all select 0,"汇总","",sum(money) from tb
用 MSFlexGrid 比较好办,可以用代码将汇总数据写入到单元格中,并控制合并单元格。DataGrid 比较麻烦,因为用 Union 查询的方法,不能确定汇总记录所显示的位置。一个迂回的方法是给汇总行一个最大的 ID,然后添加一级主查询 Order By ID。如果你的数据库中已经有汇总记录(如你的图显示),可以先求一步汇总,写入该记录,然后查询。看你的图例,ID 列似乎是字符型:Set rs = cn.Execute("SELECT Sum(money) As total FROM yourTable WHERE ID <> '汇总'" cn.Execute "UPDATE yourTable SET money = " & rs.fields("total") & " WHERE ID = '汇总'"Set rs = cn.Execute("SELECT * FROM yourTable ORDER BY ID")Set DataDrid1.DataSource = rs DataGrid1.Refresh
请问下msfexgrid如何将数据写入单元格中,并合并?能给个具体代码吗?谢谢
Set rs = cn.Execute("SELECT Sum(UnitPrice) As Total FROM Store WHERE ID <> '汇总'") cn.Execute "UPDATE Store SET UnitPrice = " & rs.Fields("Total") & " WHERE ID = '汇总'" Set rs = cn.Execute("SELECT * FROM Store ORDER BY ID") Set DataDrid1.DataSource = rs DataGrid1.Refresh 调试出现出错 “实时错误424:要求对象”麻烦帮看下
union all
select 0,汇总,"",sum(money) from tb
union all
select 0,"汇总","",sum(money) from tb
cn.Execute "UPDATE yourTable SET money = " & rs.fields("total") & " WHERE ID = '汇总'"Set rs = cn.Execute("SELECT * FROM yourTable ORDER BY ID")Set DataDrid1.DataSource = rs
DataGrid1.Refresh
cn.Execute "UPDATE Store SET UnitPrice = " & rs.Fields("Total") & " WHERE ID = '汇总'" Set rs = cn.Execute("SELECT * FROM Store ORDER BY ID") Set DataDrid1.DataSource = rs
DataGrid1.Refresh
调试出现出错 “实时错误424:要求对象”麻烦帮看下