我在报表中要打印一人计算值. 例如:金额=单价*数量. 数据表里只有单价和金额两个字段.
我在rave里的Detail区放在一个 DataText, 它的OnGetText写
Value:=floattostr(dataview1.Fieldbyname('price').asfloat*dataview1.Fieldbyname('qty').asfloat); 打印时出错.
请教各位如何实现!!!!
我在rave里的Detail区放在一个 DataText, 它的OnGetText写
Value:=floattostr(dataview1.Fieldbyname('price').asfloat*dataview1.Fieldbyname('qty').asfloat); 打印时出错.
请教各位如何实现!!!!
(不用fieldbyname...)
比如price对应的datatext控件为price,qty对应的为qty.
试试:
self.value:=floattostr(strtofloat(price.text)*strtofloat(qty.text))。至于第二个问题,我往往是在SQL里得到一个相对应的字段。那样就尽量避免了
对RAVE的控制。
在SQL中也可以
为什么一定要这么复杂的写到Rave里面第二个问题也是一样
前台可以用SetText中完成
后台可以用SQL语句中的Case 完成
SQLServer直接支持Select Case
Oracle可以用Decode
单价(price)和数量(qty)不是在同一个表的。取单价是在Rave中通过关连另外的DataView得来的(关连的关键字段只有一个).
由此提出另一个问题:如果关连的关键字段有二个或以上, price的值在Rave中如何取得. 金额还能计算出来吗!!!
If DataText1.text='True' Then
Self.Value:='男'
End If If DataText1.text='False' Then
Self.Value:=女'
End If 注意:结尾是用 End If(中间有空格),不能用Else.
xiaocuo_zrf(刀未锋)大侠。
学知识了。那这样的话它的语法还颇有点象是foxpro.
倒是未曾想到,我说怎么乱试都出不来。