qrexpr(急!)(100分)

  • 主题发起人 主题发起人 pws_123
  • 开始时间 开始时间
P

pws_123

Unregistered / Unconfirmed
GUEST, unregistred user!
在报表中,有一个qrexpr的值是另外两个qrexpr的值之和,我用下面的赋值语句
qrexpr1.value:=qrexpr2.value+qrexpr3.value;结果提示不能给只读属性赋值,
正确的实现方法是什么?(qrexpr的值是数值型(带小数点))
在表中收索多个字段符合给定条件如何实现?(多个字段均为字符型)
table1.locate(field1,field2,vararrayof[value1,value2],lopartialkey]为何提示出错?
 
语法不对,
应在QRExpr1的OnPrint中用QRExpr1.Expression:=floattostr(QRexpr2.Value.dblResult+
QRexpr2.Value.dblResult)
或用一个QRLABEL取代(在QRLABEL的 ONPRINT中赋值 floattostr(QRexpr2.Value.dblResult+
QRexpr2.Value.dblResult)。
Table.Locate应写成如下
table1.locate(‘field1;field2’,vararrayof([value1,value2]),lopartialkey])
请按下例所示改:
CustTable.Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P',
'408-431-1000']), [loPartialKey]);(来自DELPHI的HELP)
字段名应用单引号括起来,多个字段时之间用分号; VarArrayOf后应有一对()
 
我的程序是先算出qrexpr2,qrexpe3的值,再出qrexpr1的值,而报表中,qrexpr1的位置在qreppr2
,qrexpr3之前,我用上面的方法试了一下,好像到不到目的,qrexpr1的值为0,aspire可否再解答一下?
赋值语句写在qrexpr1.onprin中和写再程序中,再写quickrep.preview,效果一样吗?
 
如果位置都在同一 BAND中,如果QREXPR1位置在前,请直接写成QREXPR2
和QREXPR2所对应的表达式之和。我所言仅就语法而言,也只适合QREXPR1位置在
QREXPR2和QREXPR2之后(仅指打印先后顺序)。如果不在同一BAND中,又要QREXPR1
在前,你只好用-个汇总数据源来处理QREXPR1了。

赋值语句写在qrexpr1.onprin中和写再程序中,再写quickrep.preview,效果一样
 
qrexpr2,qrexpr3的expression是可变的,其中数值部分取自数据库的字段,qrexpr1的值是qrexpr2和
qrexpr3的和,因此也是可变的.我用下面的方法为什么不行?
qrexpr2.expression:='query1.field1'+'*'+table1.fieldbyname('field1').asstring;
qrexpr3.expression:='query1.field2'+'*'+table1.fieldbyname('field2').asstring;
1.qrexpr1.expression:=qrexpr2.expression+'+'+qrexpr3.expression;
2.qrexpr1.expression:='query1.field1'+'*'+table1.fieldbyname('field1').asstring
+'+'+'query1.field2'+'*'+table1.fieldbyname('field2').asstring;
为什么1.2都不行?
 
接受答案了.
 
后退
顶部