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

如何显示出Access数据库表中的数据汇总行

请教:
    vb + Access数据库 如何实现将数据库表中的汇总行 显示在datagrid 或者MSFlexGrid 或者更号的数据显示空间中,最好固定在下面。 VB Access --------------------编程问答--------------------
数据库如上图 --------------------编程问答--------------------
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 --------------------编程问答--------------------
引用 4 楼 of123 的回复:
用 MSFlexGrid 比较好办,可以用代码将汇总数据写入到单元格中,并控制合并单元格。

DataGrid 比较麻烦,因为用 Union 查询的方法,不能确定汇总记录所显示的位置。一个迂回的方法是给汇总行一个最大的 ID,然后添加一级主查询 Order By ID。

如果你的数据库中已经有汇总记录(如你的图显示),可以先求一步汇总,写入该记录,然后查询。看你……

请问下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:要求对象”麻烦帮看下 --------------------编程问答-------------------- 关键在于控件的锁定过程。
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,