Access交流中心

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

[5分]交叉表的条件可以设置么?

Bio_hebei  发表于:2009-06-27 16:39:17  
复制

交叉表样子:

品种     一月    二月    三月    四月

品种1    23      34      26      56

品种2    112    134     234     223

品种3    233    323     432    243

 

(值为销量)

我可不可以根据窗体上某文本框的值来进行筛选,在简单查询中是可以的,为什么在交叉表中却不能识别我加上去的条件呢?交叉表的条件怎么设置呢?

 

目的如

品种     一月   二月   三月    四月

品种2    112    134    234    223

 

(其它品种不显示)

 

Top
周金涛 发表于:2009-06-27 16:58:10

可以参考此例

点击下载此附件

赵文斌 发表于:2009-06-27 18:40:28

只讲一下解题思路,示例自己完成.新建一临时表和目标表结构一致.交叉表查询的源表为临时表.在窗体中点击查询按钮后,先执行临时表清空然后用代码执行追加查询.把目标表中符合条件的记录追加到临时表中.窗体刷新一下就可以实现你要的结果了



Bio_hebei 发表于:2009-06-28 00:15:06

916wty所说举的例我以前就看到过,受益诽浅,但这是选择查询的做法,与交叉表查询相去很远,谢过热心提示!

 

zhaowb 师座的思路我会去认真实践一下的,这个思路很有启发,非常感谢!!!



Bio_hebei 发表于:2009-06-28 01:43:34

实践中碰到第一个问题

交叉表查询的日期分类中有以下语句

PIVOT Format([lxrq],"mmm") In ("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月");

知道是按月分类的,但如果跨年,怎么办?这里应该是不分年把月混在一起,肯定有错啊!

如果不用这个分类,就设为 FORMAT([lxrq],"y\.mm"), 当遇到没有值的时候,查询结果就没有这个列,交叉表的窗体没法做吧?

还有一个问题:查询中的标题可不可以设为动态的,如:(当前&"月")  或(当前月-2"月") 试过,用公式是不行的,怎么考虑这个问题呢?

 

多谢指教!!! 



Bio_hebei 发表于:2009-06-28 02:04:58

退而求其次,我试着用选择查询来解决这个问题,其实也是可以的

在查询中分别增加6个月份的字段,每个字段分别设置条件,分别计算出相对的各个月份的销量汇总,因为是用选择查询,所以就方便添加我所需要的条件了

但是,师座的思路我还是想继续学习做一下,主要还是交叉查询方面的问题,希望大家相助!!!!



sosopain 发表于:2009-06-28 09:59:02

在交叉表中调用外部数据需要手工设置一个参数, 你可以查查SQL的parameter语法.

 

关于你第二个问题很常见, 交叉表要求列标题字段是现成的,而非计算出来的, 所以你可以先做一个其他查询来整理你需要的月份数据,然后交叉,



赵文斌 发表于:2009-06-28 11:45:33

看你这么晚还在研究.发个示例给你,但还是需要自己慢慢消化.看得懂代码的话一下子就明白了.你的问题也就解决了.



赵文斌 发表于:2009-06-28 11:47:02
Bio_hebei 发表于:2009-06-28 12:07:14

尿急急急!!!

版主告诉我:往东走!

师座直接把我带到厕所面前

憋了两天的我.....

爽!!!!!!

 

zhaowb  zhaowb   zhaowb

 



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