设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 5550|回复: 10
打印 上一主题 下一主题

[Access本身] 交叉表中如何制作动态列!

[复制链接]
跳转到指定楼层
1#
发表于 2005-8-20 21:44:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
同标题!~~~~~~~~~~~~

用搜索没有搜到满意的答案,在OFFICE中国搜到寻欢兄相关帖子。

但是是SQL SERVER2000的,对于我使用的ACCESS没有用处呀~。

希望知悉的朋友帮忙~~~~~~~~~~~~

附加条件,还要进行 行汇总运算。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
11#
发表于 2006-3-22 19:41:00 | 只看该作者
不错,特别是第二条很实用,受益非浅。THK
10#
发表于 2006-3-22 16:14:00 | 只看该作者
如不能确定有多少课程的话,可以用OPENRECORDSET(‘SELECT 课程 FROM TT GROUP BY 课程’),对这个记录集循环,动态生成‘SUM(IIF)SQL’语句,再执行即可。
9#
发表于 2006-3-22 00:34:00 | 只看该作者
1、transform sum(分数)
select 姓名 from b102c group by 姓名  
pivot 科目 in('语文','数学','物理')
2、select 姓名,sum(iif(科目='语文',分数,0)), sum(iif(科目='数学',分数,0)),sum(iif(科目='物理',分数,0)),from b102c group by 姓名  

3、动态生成SQL语句。
8#
 楼主| 发表于 2006-3-21 23:59:00 | 只看该作者
呵呵,这个问题我到现在也搞不清楚该如何解决,所以现在来顶帖.

再复述一下意思:

就是在交叉表中能够设置固定的列,如果没有这个列时仍生成这个列不过里面的值可显示为零或相应字符串!

例如:

表中的数据为

姓名  科目   分数

001   语文   80

001   数学   95

001   物理   92

那么,以姓名为行,科目为列,分数为值.则交叉表为.

姓名    语文    数学    物理

001     80        95     92

但是,如果是这种情况的,如下:

姓名  科目   分数

001   语文   80

001   数学   95

要做出如下交叉表效果:

姓名    语文    数学    物理

001     80        95     0

这种就是最大的问题.一般情况下,物理这一列标是不会出现的.呵呵,我就是想让物理这一列标出现.

不晓得这回表达清楚了没.
7#
发表于 2005-8-21 05:43:00 | 只看该作者
楼主的意思我明白,没有很好的解决方法,XINBAO提出的是现在最接近的方法了
6#
发表于 2005-8-21 04:31:00 | 只看该作者
我想楼主的意思是想做把基于交叉查询的报表做成动态的吧。
5#
发表于 2005-8-21 03:29:00 | 只看该作者
您指的动态列是什么意思?最好放个实例上来
4#
发表于 2005-8-21 00:50:00 | 只看该作者
Access只能放足够的文本框作数据表用,Access无法动态产生控件

用足够文本栏,不用的文本框隐藏.
3#
 楼主| 发表于 2005-8-20 22:39:00 | 只看该作者
NO,呵呵,不是的,是固定的列啦。不信你试试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 18:26 , Processed in 0.078679 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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