关于FASTREPORT加上时间问题!!(25分)

  • 主题发起人 主题发起人 HAPPY_ALEX
  • 开始时间 开始时间
H

HAPPY_ALEX

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个fastreport报表,上面需要显示时间范围(起始时间和终止时间)请高手们帮小弟解答!!!
 
在报表中定义数据字典:
start_date
end_date
程序中这样传:
Dictionary.Variables['start_date']:=''''+datetostr(start_date.Date )+'''';
Dictionary.Variables['end_date']:=''''+datetostr(end_date.Date)+'''';
 
如果不定義數據數據字典的話,也可以在ongetvalue中賦值。
procedure TForm1.frReport1GetValue(const ParName: String;
var ParValue: Variant);
begin
if AnsiCompareText(ParName, 'start_date') = 0 then
ParValue := datetostr();
if AnsiCompareText(ParName, 'end_date') = 0 then

parvalue := ........;
end;

 
我可能没说详细:
我的报表已经作好可以运行现在想在报表上加上统计的起始时间.
时间是通过两个EDIT输入的.然后通过SQL进行运算.
select * from iccard where 日期 between'+''''+a+''''+'and'+''''+b+''''
其实A和B是代表输入的起始时间.
 
顯示還是這樣。報表相應位置用start_date這個變量來填就是了。
if AnsiCompareText(ParName, 'start_date') = 0 then
ParValue := edit1.text;
。。。。。。。。
查詢方面用動態SQL語句。在打印預覽前生成就是了。
 
我认为你自己已经解答得很清楚了,你就直接根据你的时间范围生成SQL语句,再打开数据集不就行了吗??
 
to app2001 我的统计结果都运行没问题。
我想知道的是把起始日期通过fastreport打印在报表上例如:
2003-10-31到2003-11-31
-----------------------------
|---|---|---|---|---|---|---|
 
先在Fastreport中给报表定义两个Memo,一个名为start_date 另一个名为 end_date,然后用上面的vmao或lichdr的方法就可以了嘛.
 
同意楼上,先在fastreport中定义两个MEMO,分别为start_date和end_date
在freprot1的ongetvalue事件中加入
begin
if ParName='start_date' then
parvalue:=edit1.text;
if parname='end_date' then
parvalue:=edit2.text;
end;
 
对,就按楼上的方法
 
谢谢大家的帮助。!!!! 我已经搞好了
开始送分了。
 
多人接受答案了。
 
后退
顶部