fastreport 中,如何只取某个字段的特定值,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastreport 中,如何只取某个字段的特定值,相关的知识,希望对你有一定的参考价值。

比如 total 字段,包含多种支付方式,而每一种支付方式对应一个total,打印时,我只想把储值卡的对应的total相加求和
能详细的说一下吗

fastreport 传的是一张表过去,我一般是在程序端把所有的都做好后,在传过去一张表,将表里面的字段拉到报表上去就可以了,你可以在程序端,把你要显示的字段放到一个表里面,然后传过去,就可以了。追问

在不改程序的前提下,通过在报表中加变量的方式,能实现吗?我现在表里有scye(代表储值卡上次余额)total(本次消费金额)paypmt(支付方式),05代表储值卡消费,01代表现金消费,我现在想在报表中实现显示储值卡余额,我是这样写的脚本:
begin
if [QryRpt2."paypmt"]=\'05\' then
tt:=[QryRpt2."total"]
else tt:=0
对于纯现金或者纯储值卡消费是没有问题的,如果一条流水两种支付方式,则没法取数,应该怎么处理?

追答

我没有做过在报表中实现这种方式的,我觉得如果可以在程序端实现,那在报表端不就省了很多麻烦吗?楼主觉得呢 ?不管怎么样,只要实现其功能,达到了效果,那就可以了,而且在程序端扩展型比较大。

参考技术A 试试先在report头定义一个储值卡变量vSUM_CXK。然后在beofore print栏中定义
if ADO.Fieldbyname('支付方式').Asstring='储值卡' then
begin
vSUM_CXK:=vSUM_CXK+ ADO.Fieldbyname('total').ASFloat;
end;
最后在报表脚中放一个memo. 值为 vSUM_CXK
以上只是一个思路。如要更准确必须测试一下后再给你。追问

能详细的说一下吗

参考技术B 边编写脚本函数,实现

MYSQL中怎么替换某个字段值的空白值替换为特定值

UPDATE Content SET [分类]=replace([分类],'','24')用这个命令不行。替换不成功

参考技术A replace一般用于替换字段值中的一段字符串
整体替换直接使用where语句定位到空白字段再重新赋值即可:
UPDATE Content SET 分类='24' where 分类=''本回答被提问者采纳

以上是关于fastreport 中,如何只取某个字段的特定值,的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL中怎么替换某个字段值的空白值替换为特定值

Oracle某个字段去重

Oracle某个字段去重

求一句sql语句:大于或者小于某个值,但只取紧挨着的6项。

fastreport中列宽固定 根据字段内容多少自动调整行高

oracle 查询A表和B表,只取A表数据,并把B表某个字段显示出来?