设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 6987|回复: 9
打印 上一主题 下一主题

[查询] 交叉表查询 怎么在最后加一行 列总计

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-5 09:44:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表1  合同表
表2  产品列表



要实现的 结果是 要在窗体中 显示

         合同编号   签订日期       产品1    产品2    产品3  产品4
          1           2008-10-10  30元         0     20元      0
           2          2009-1-1       0            10     30        10

总计                                      30           10     50       10

就是要实现最后有个 总计行的 效果。。请问怎么实现。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-3-5 10:01:40 | 只看该作者
一个简单的解决方法, 利用ACCESS的交叉查询向导,中间会有一步的对话框上有个选择框,你可以决定是否需要行汇总。

ACCESS主菜单,插入,查询,然后在对话框中选择 交叉查询。


******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
3#
 楼主| 发表于 2009-3-5 10:12:11 | 只看该作者
我不需要 行汇总,,我要达到列汇总的 效果。
4#
发表于 2009-3-5 10:21:38 | 只看该作者
我不需要 行汇总,,我要达到列汇总的 效果。


那要先做好汇总行,然后把这个汇总行和原查询UNION在一起再进行交叉表查询。
没看到你的表结构,所以只能给个示例了

select 合同编号,签订日期,产品名称,amt from query1
union all
select 'TOTAL:' as 合同编号,null as 签订日期,产品名称,sum(amt) groiup by 产品名称



******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
5#
发表于 2009-3-5 10:38:45 | 只看该作者
本帖最后由 wu8313 于 2009-3-5 10:52 编辑

也有和楼主一样的困惑,想法是不但要横向合计还要纵向合计。
在如下地址有示例:
http://www.office-cn.net/vvb/vie ... 41&page=1#pid416036

--------------------------------------------------------------
在链接地址给出的示例中,交叉表查询业已完成,纵向合计业已完成,可是我无法使用 联合查询 来连接一个交叉表查询和一个选择查询。

试图把交叉表生成另外一个表再实施联合,可是生成后格式改掉了,也不行。我想即使可以的话,也是绕弯了。就是想一个查询搞定它。
6#
发表于 2009-3-5 12:20:04 | 只看该作者
也有和楼主一样的困惑,想法是不但要横向合计还要纵向合计。
在如下地址有示例:
http://www.office-cn.net/vvb/vie ... 41&page=1#pid416036

-------------------------------------------------------------- ...
wu8313 发表于 2009-3-5 10:38


只有select语句的查询才可以union,因为select相当于一个视图。而交叉查询不是select查询,所以不能union。就不用费脑子了。
7#
发表于 2009-3-5 13:12:29 | 只看该作者
本帖最后由 todaynew 于 2009-3-5 13:24 编辑
那要先做好汇总行,然后把这个汇总行和原查询UNION在一起再进行交叉表查询。
没看到你的表结构,所以只能给个示例了

select 合同编号,签订日期,产品名称,amt from query1
union all
select 'TOTAL:' as 合 ...
ACMAIN_CHM 发表于 2009-3-5 10:21


以交叉查询为数据源做纵横向的汇总是可以。但是由此产生一个问题,就是作为列的记录长度不确定,如何能动态的产生纵横向的汇总?
1、是否有子查询的写法能办到?
2、是否可以利用作为列的记录的唯一性,建立交叉表列合计函数和交叉表行合计函数?



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
8#
发表于 2009-3-5 13:41:58 | 只看该作者
看来我们之间一定有些人的汉语水平不及格。
那要先做好汇总行,然后把这个汇总行和原查询UNION在一起再进行交叉表查询。


1.先做好汇总行
2.然后把这个汇总行和原查询UNION
3.再进行交叉表查询
  1. TRANSFORM Sum(数量) AS 数量OfSum
  2. SELECT 订单ID, 日期
  3. FROM (SELECT 订单ID, 日期, 货品, 数量
  4.     FROM 表1
  5.     UNION ALL
  6.     select 'TOTAL' as 订单ID, null as 日期, 货品, sum(数量)
  7.     from 表1
  8.     group by 货品)
  9. GROUP BY 订单ID, 日期
  10. PIVOT 货品;
复制代码
用的todaynew的例子。
结果如下
  1. 订单ID        日期        A        B        C        D        E
  2. 1        2/10/2009        40        20        35        15       
  3. 2        3/5/2009        75        33                80       
  4. 3        3/15/2009        24        36        68        14        57
  5. TOTAL                139        89        103        109        57
复制代码

******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
9#
 楼主| 发表于 2009-3-5 13:42:36 | 只看该作者
本帖最后由 六十三 于 2009-3-5 13:53 编辑

谢谢 各位的 回答。。。

正在试验楼上的。。。
10#
发表于 2009-3-5 14:25:49 | 只看该作者
谢谢 各位的 回答。。。

正在试验楼上的。。。
六十三 发表于 2009-3-5 13:42


还有一个更为简单的办法。就是用建立一个透视表窗体:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-18 05:17 , Processed in 0.083312 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表