Qgroup的问题(100分)

  • 主题发起人 主题发起人 lzb
  • 开始时间 开始时间
L

lzb

Unregistered / Unconfirmed
GUEST, unregistred user!
用Qreport做报表,如:select name,age,phonenumber,
address from personal order by age
但在报表输出时不希望有age字段,即表格应是下列输出
name phonenumber address
aa 992221 ...
das 232132 ...
.....
输出时按age分组,所以按age排序.Qgroup.Expression:='age<18 or age>20'
但error:Expression error
???:(
 
Expression:=(age<18) or (age>20)
 
我是这样写的 Expression:=(age<18) or (age>20)
可能没有明白我的意思:Expression:=(age<18) or (age>20)表达式中用到了
age 字段,因此select语句中也要包含age字段,但只要包含了这个
字段,输出就有age,问题是:输出要没有 age,但分组要由 age来分
如何搞定??
 
你可以输出 age ,但是你在qreport 中没有放它的qrdbtext上去也不会显示出来啊
 
是啊,报表里不要放它
 
由于我的表格单员是动态生成的,group总出错,如:
(age<18) or ((age>=19) and (age<=28))
希望分两个组输出,但输出时无分组显示!
若仅 age<18 是可以分组的,只要条件一多,分组无效!
???
 
Qgroup.Expression不是你理解的意思,是Qgroup.Expression的值一改变
就分新组。
你现在(age<18) or ((age>=19) and (age<=28))
小于18是true,19-28也是true,Qgroup.Expression没有改变,所以不分组
只有》28时候才变false,分一个新组
你可以这样:
(age<19) or (ang>28)
这样是0-18一组(true),19-28一组(false),28以上(true)又一组
 
pipi
你是不是这个意思:
(age<18) or (age<19) or (age>28)
如果还有 30<age<50 ??
 
就是说,每跳过一个组,expression的值就要变一下
如果还有 "age>28 and age<50"
表达式可以是 (age<19) or (age>28 and age<50)
表达式的值:当age为
0-18 true
19-28 false
29-49 true
>=50 false
就是说,每一个相邻组不同的值
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部