请教:
    vb + Access数据库 如何实现将数据库表中的汇总行 显示在datagrid 或者MSFlexGrid 或者更号的数据显示空间中,最好固定在下面。

解决方案 »

  1.   

    SELECT id,title,type,money from tb
    union all
    select 0,汇总,"",sum(money) from tb
      

  2.   

    SELECT id,title,type,money from tb
    union all
    select 0,"汇总","",sum(money) from tb
      

  3.   

    用 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.   

    请问下msfexgrid如何将数据写入单元格中,并合并?能给个具体代码吗?谢谢
      

  5.   

     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:要求对象”麻烦帮看下