Office中国论坛/Access中国论坛

标题: 能否直接进行交叉表的多条件查询? [打印本页]

作者: winner    时间: 2006-6-14 00:37
标题: 能否直接进行交叉表的多条件查询?


[attach]18468[/attach]


我想在窗体中选择多条件,得出相应的交叉表.按照以往的做法,我会先用一个追加查询,把符合窗体条件的记录追加到一个临时表,然后再做交叉表查询.但这种方法涉及到,每次追加记录前,一定要把临时表清空,如果多人同时操作的话,清空临时表会把别人的记录也清掉,所以现在我想直接在交叉表上下条件,不知能否做得到?


作者: sgrshh29    时间: 2006-6-14 01:03
以下是引用winner在2006-6-13 16:37:00的发言:



[attach]18468[/attach]


我想在窗体中选择多条件,得出相应的交叉表.按照以往的做法,我会先用一个追加查询,把符合窗体条件的记录追加到一个临时表,然后再做交叉表查询.但这种方法涉及到,每次追加记录前,一定要把临时表清空,如果多人同时操作的话,清空临时表会把别人的记录也清掉,所以现在我想直接在交叉表上下条件,不知能否做得到?

使用参数.附件传不上去,没有办法.查询大致如下:

PARAMETERS [Forms]![窗体]![Factory] Text ( 255 ), [Forms]![窗体]![Area] Text ( 255 );
TRANSFORM Sum([运费]*[每箱重量]*[箱数]) AS 价格
SELECT 主表.工厂名称, 产品表.产品名称, 主表.区域, Sum([价格]) AS 总计
FROM 产品表 INNER JOIN (运费表 INNER JOIN 主表 ON 运费表.运费编号 = 主表.运费编号) ON 产品表.产品编号 = 主表.产品编号
WHERE (((主表.工厂名称)=[Forms]![窗体]![Factory]) AND ((主表.区域)=[Forms]![窗体]![Area]))
GROUP BY 主表.工厂名称, 产品表.产品名称, 主表.区域
PIVOT 主表.月份;


[此贴子已经被作者于2006-6-13 17:04:56编辑过]


作者: crg770502    时间: 2006-6-14 01:16
[attach]18471[/attach]

作者: winner    时间: 2006-6-14 01:19
[attach]18470[/attach]


1.如果照2楼的语句进行查询,那么一定要符合3个条件才能有数据,是"和"的关系;我想实现的是,3个条件是"或"的关系,即随便输入一个条件,都能查询到相应数据.不知怎么搞?

2.题外话:这里的附件是我刚刚想到的,虽然也是"和"的关系,但不能查出数据,我想问问:是哪里写错了?
作者: sgrshh29    时间: 2006-6-14 01:24
把and改为or就是"或"的关系.如果要任意1到3个条件都能成立,最好用代码实现.写法与查询里的写法差不多.

[此贴子已经被作者于2006-6-13 17:26:41编辑过]


作者: winner    时间: 2006-6-14 01:25
谢谢crg770502!谢谢各位!可以了,原来要用Like[em04]




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3