Fastreport中如何处理两数据各自SUM后再相除(50分)

  • 主题发起人 主题发起人 anne6795
  • 开始时间 开始时间
A

anne6795

Unregistered / Unconfirmed
GUEST, unregistred user!
举例说明:
f_ydsl f_jcsl f_ydbl
50 50 100
60 60 100
0 0
40 40 100
小计:150 150 100

其中 f_ydbl=100*f_ydsl/f_jcsl
但有时候f_jcsl=0
procedure Memo41OnBeforePrint(Sender: TfrxComponent);
begin
IF (<frxDBDatasetA.&quot;F_jcsl&quot;>) >0 then
memo41.text:='100*[SUM(<frxDBDatasetA.&quot;F_YDSL&quot;>,MasterData1)]/[SUM(<frxDBDatasetA.&quot;F_JCSL&quot;>,MasterData1)]';
end;

但 f_ydbl小计 出来的数据是100*150/150,比率应该是100呀,请大家指点,谢谢:)))
 
没看懂问题
 
你的處理成字符了
memo41.text:='[100*[SUM(<frxDBDatasetA.&quot;F_YDSL&quot;>,MasterData1)]/[SUM(<frxDBDatasetA.&quot;F_JCSL&quot;>,MasterData1)]]' 試試
 
TO QiYouSOft:
3Q~~~~3Q
如果再加[],提示 没有表识‘SUM’
 
我现在没法测试,你这样:
memo41.text:='[100*SUM(<frxDBDatasetA.&quot;F_YDSL&quot;>,MasterData1)/SUM(<frxDBDatasetA.&quot;F_JCSL&quot;>,MasterData1)]';
看是否可以
 
to zywcd:3Q~~~~~3Q
还是提示提示 没有表识‘SUM’
 
memo41.text:='[SUM(100*<frxDBDatasetA.&quot;F_YDSL&quot;/<frxDBDatasetA.&quot;F_JCSL&quot;>,MasterData1)]';
 
to zywcd:
3Q~~~~3Q
现在没有提示,但运行后小计没有数据
 
怎么可能。这个语句我是测试过的。
 
TO zywcd:早上好!
我用的是FR3.0, 不知道为什么就是没有数据出来,请帮忙再看看:)))
 
还是需要在你的fastreport中仔细测试。有时候我发现fastreport中可能会出现你说的这样情况。你检查显示格式看看,或者新建一个,重新写入公式
 
测试:[IIF(<SUM(<frxDBDatasetA.&quot;F_JCSL&quot;>,MasterData1)><>0 ,10/2,0)]正常
[IIF(<SUM(<frxDBDatasetA.&quot;F_JCSL&quot;>,MasterData1)><>0 ,<SUM(<frxDBDatasetA.&quot;F_YDSL&quot;>,MasterData1)/SUM(<frxDBDatasetA.&quot;F_JCSL&quot;>,MasterData1)>,0)]
不出数据
 
后退
顶部