如何在Access2007 表中同时显示明细、小计、总计?
如何在Access2007 表中同时显示明细、小计、总计?
成绩形容: 如何在 2007 表中同时显示明细、小计、总计?
ID fullname pay
2 a ¥500.00
4 a ¥600.00
5 a ¥700.00
6 b ¥800.00
7 b ¥55.00
有以上格式的表格,要依据 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 中专门有一局部,称为数据整形用来实现上述工作,然而它需求配合 的 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