视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何在Access2007表中同时显示明细、小计、总计
2020-11-09 08:05:16 责编:小采
文档

问题描述: 如何 在Access2007 表中 同时 显示 明细 、小计、 总计 ? 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 ¥7

问题描述: 如何在Access2007 表中同时显示明细、小计、总计?

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 中专门有一部分,称为数据整形用来完成上述工作,但是它需要配合 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

下载本文
显示全文
专题