【Access】在Access2007表中同时显示明细、小计、总计-漏蛧尐魚℡
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access2007


【Access】在Access2007表中同时显示明细、小计、总计

发表时间:2013/7/4 7:59:48 评论(0) 浏览(10101)  评论 | 加入收藏 | 复制
   
摘 要:如何在access2007 表中同时显示明细、小计、总计?
正 文:
问题描述: 如何在access2007 表中同时显示明细、小计、总计?
  ID fullname pay
  2 a ¥500.00
  4 a ¥600.00
  5 a ¥700.00
  6 b ¥800.00
  7 b ¥55.00
  在Access2007 有以上格式的表格,要根据 FULLNAME 做小计,然后全部的做总计,变成以下格式,该如何完成?
  fullname pay
  a ¥700.00
  a ¥600.00
  a ¥500.00
  a 小计 ¥1,800.00
  b ¥55.00
  b ¥800.00
  b 小计 ¥855.00
  总计 ¥2,655.00
  问题解答:首先,应该了解,表是用来存储数据的,而不是用来显示统计结果以及显示给最终用户看的。类似工作应该在 Access2007 报表中完成,报表中可以分组且显示小计。具体内容你可以参考帮助或者 NORTHWIND.MDB 示例数据库中的报表。
  其次,在 ADO 中专门有一部分,称为数据整形用来完成上述工作,但是它需要配合 VB 的 DATAGRID 等控件来完成显示。 部分 VB 控件也可以使用在 Access2007 的窗体中。
  最后,如果你实在想在 Access2007 的表格中完成,你可以使用组织 JET SQL 生成查询的方式来完成。
  select fullname,pay from pay
  用来查询出明细
  Select pay.fullname & " 小计" AS 表达式1, Sum(pay.pay) AS payAll
  FROM pay
  GROUP BY pay.fullname & " 小计"
  用来分类汇总小计,注意上述技巧,在 FULLANME 字段旁加“ 小计”不只是为了好看,要将小计这行放在明细的下面完全要靠 orDER BY FULLNAME 来实现,你可以通过调整这一行来编排它的显示顺序
  select "总计", sum(pay) from pay
  用来显示总计数,请注意,“总”字的 ANSI 编码必须大于 FULLNAME 字段中任何一个字符,否则就无法根据 FULLNAME 排序将总计数放在表格的最下面一行。提示:不能用“总”的时候你可以用其他字符,甚至是符号也可以,只要它的机器码够大就行。
  将上述语句用 UNION ALL 来组织就可以达到预想的效果。
  select fullname,pay from pay
  union all
  Select pay.fullname & " 小计" AS 表达式1, Sum(pay.pay) AS payAll
  FROM pay
  GROUP BY pay.fullname & " 小计"
  union all
  select "总计", sum(pay) from pay
  order by fullname

Access软件网交流QQ群(群号:198465573)
 
 相关文章
报表分页总计及补空行示例  【红尘如烟  2010/9/18】
子窗体没有数据,总计将显示错误,如何避免  【风行  2011/4/6】
[access报表]报表的总计在最后一页的页脚显示  【蒋元根  2011/5/23】
[Access报表]总计与逐日累计报表  【蒋元根  2011/12/24】
常见问答
技术分类
相关资源
文章搜索
关于作者

漏蛧尐魚℡

文章分类

文章存档

友情链接