Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何实现这样的报表?

铜壁风轮  发表于:2007-11-06 21:52:11  
复制

现有表如下:
日期 医师    科别    时段 
2007-8-6   李      内科      半 
2007-8-6   张      口腔科   半 
2007-8-6   王      内科      半 
2007-8-7   李      内科      全 
2007-8-7   张     口腔科    半 
2007-8-8   张      口腔科   半 
2007-8-8   王      内科      全 
…… …… …… …… 
我想生成如下的报表样式:
  周一 周二 周三 周四 周五 周六 周日 
  2007-8-6 2007-8-7 2007-8-8 2007-8-9 2007-8-10 2007-8-11 2007-8-12 
口腔科 张 张 张 张 张 张 张 
内科 李 王 李(全) 王(全) 李 王 李 王 
  周一 周二 周三 周四 周五 周六 周日 
  2007-8-13 2007-8-14 2007-8-15 2007-8-16 2007-8-17     
口腔科 张 张 张 孙 孙     
内科 李 王 王 王 李 王 王     

有以下几点感觉较困难:
1.使用交叉表查询得到的一般是数值,要不就是符合条件记录的第一项或最后一项,但不知如何才能全部显示出来(如2007-8-6的内科显示为李、王)? 而且能否建立基于交叉表查询的报表呢?
2.如果时段为“全”的,在显示时显示为“姓名(全)”,这如何实现?    
3.周一至周日位置固定,日期按所选的区间对号入座,如本例就是显示“2007-8-6至2007-8-17”区间段的排班情况,这如何实现?    
哪位大侠知道做法?希望告诉小弟,不尽感激!

谢谢了

帖子被chuyuchun修改于2007-11-6 22:11:08

 

Top
竹笛 发表于:2007-11-06 22:01:58

哪样的报表?

本论坛不支持图片上传,但你可以在这里引用你的图片地址,供大家查看.

 

比如象我这样:



全利 发表于:2007-11-07 13:43:07

TRANSFORM First([医师] & IIf([时段] Like "全","(全)")) AS 表达式1
SELECT 表1.科别
FROM 表1
GROUP BY 表1.科别
PIVOT 表1.日期;

表名是表1,复制到查询里。就可以看到了。另外周一、周二等,在报表中用标签,只需要调出第多少周就可以分开了。



铜壁风轮 发表于:2007-11-07 19:02:16

谢谢您的回复,不过我想要的不是符合条件记录的第一项或最后一项,而是要全部显示出来(如2007-8-6的内科显示为李、王),是2个人?

还有那个"另外周一、周二等,在报表中用标签,只需要调出第多少周就可以分开了。"没看太懂,能不能请您再详细介绍一下,多谢!



竹笛 发表于:2007-11-14 10:35:42

这是由热心会员hotgh2003为您制作的示例,请下载示例: http://www.accessoft.com/down/hotgh200301.rar



铜壁风轮 发表于:2007-11-14 20:43:24

谢谢竹笛老师和这位热心的朋友-hotgh2003,这个问题又进了一步,使我有了一个较具体的概念。不过这个例子好像仍没有解决在同一天的同一个科室显示多个人员的问题,即是“全部列举出来”而不是“只显示符合条件记录的第一项或最后一项”的概念,我觉得这个问题的根源在于交叉表查询在对值的显示方式(即设计视图的“总计”项)中没有“全部列举”的方式,不知如何解决这个问题?

另:这个例子是按照“月第几周”进行分组显示的,那么如果对于跨月的日期区间(如07-08-01~07-10-30),是不是就会将不同月的情况归为一组啊?这如何解决?

请不吝赐教,多谢!



蒋元根 发表于:2007-11-16 10:41:13

lxt1124:

     你好!

    不用谢, 我们共同学习,共同提高.你提的“全部列举出来”的问题和跨月的日期区间问题,我把例子修改了一下,基本上解决了,因为无法直接上传例子,请直接和我联系.我的电子邮件地址是:hotgh2003@yahoo.com.cn

                                      hotgh2003

                                    2007-11-16



竹笛 发表于:2007-11-16 11:49:09
hotgh2003为您制作的修改后的示例,请下载示例: http://www.accessoft.com/down/hotgh200302.rar

铜壁风轮 发表于:2007-11-17 23:06:35
问题终于解决了,感谢hotgh2003!让我对报表及查询的使用方法有了进一步的了解。亦感谢竹笛老师的热心帮助!辛苦两位了!

总记录:8篇  页次:1/1 9 1 :