我想打印这样一个字段,请问各位大侠,报表中怎么没有显示呢?(50分)

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

lwdelphibbs

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在报表打印中显示“欠费月数”字段,思路:欠费月数=(停机日期-当前日期)/30
取整。例如10/30取1而不是零。“停机日期”表中有。代码如下:
procedure Tdatam.tb_jbCalcFields(DataSet: TDataSet);//欠费月数字段设为计算字段
var days:integer;
currday:Tdate;
begin
currday:=Date;
days:=tb_jb.fieldbyname('停机日期').Value-currday;
tb_jb.FieldByName('欠费月数').asvariant:=(days div 30);
end;
 
给你换中思路把,如果你用的是SQLServer的话,
用select datediff(month,停机日期,getdate())就能满足你的要求
 
谢谢foxyxyan。我做的是单机版,没用到SQLserver服务器,用的是borlandBDE。
里面只用到了几条SQL语句。
 
那也是很简单的啊
if (days mod 30) <> 0 then
tb_jb.FieldByName('欠费月数').asvariant:=(days div 30)+1
else

tb_jb.FieldByName('欠费月数').asvariant:=(days div 30);
 
我试一下你的代码。我上面那段代码也没有报错,可就是报表中没有显示。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
761
import
I
I
回复
0
查看
705
import
I
S
回复
0
查看
947
SUNSTONE的Delphi笔记
S
后退
顶部