FastReport的参数传递问题(100分相送)(100分)

  • 主题发起人 主题发起人 bamfk1023
  • 开始时间 开始时间
B

bamfk1023

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中,在FrReport中添加一个FORM,
在FrReport报表中添加一个ADODATABASE和ADOQUERY,
要求能在程序中自定义报表所连接的数据库参数。
不知道是不是很难?
 
可以的,下面这个事件可以传递参数--
procedure TForm1.frReport1GetValue(const ParName: String;
var ParValue: Variant);
begin

if AnsiCompareText(ParName, 'Reported Period') = 0 then

ParValue := Table1OtchPeriod.Value;
end;

--你可以把SQL做为参数传递进去就可以了
 
对于数据库的关联,跟你程序一样吧,
当然你可以在程序中通过传递关联参数,创建多个adoConnecion关联,
然后在frReport IDE 中可供 frAdoDataSet 关联的 DataBase 就会有多个选择
只要你在程序中提供数据库关联的灵活性,fr 会自动关联进来
 
TO wjfw:
我知道你的意思了,这是一个简单的方法,
在程序中改完后,让FASTREPORT来绑定程序中的ADOQUERY。
TO chonghai
if AnsiCompareText(ParName, 'Reported Period') = 0 then
ParValue := Table1OtchPeriod.Value;
这几个参数是什么意思,在很多地方都在看到的,可还是不懂。
比如在FrReport中增加的是一个 Memo1:是TRMMemoview类型
请问如何在程序中改变它要显示的值。



 
先在fr的memo里面增加一个 [ABC] 的变量,
然后
procedure Tfrm1.fr1GetValue(const ParName: String;
var ParValue: Variant);
begin
//标签和字段赋值
if ParName = 'ABC' then
//ABC是fr里面的任何一个变量名
begin
ParValue:= memo1.text;
end;
这样,就可以动态的显示memo的内容了。
另外:建议看看fr的帮助,很多地方都有
这里可以下载
http://www.playicq.com/dispdocnew.php?t=19&id=1894
是中文的。
 
如何 先在fr的memo里面增加一个 [ABC] 的变量
具体一点的步骤
万分感谢!!
 
找到了,在数据字典里,谢谢!
 
多人接受答案了。
 
1.打开FASTREPORT的IDE界面
2.打开文件->数据字典->变量->新建变量->"abc"
3.
procedure Tfrm1.fr1GetValue(const ParName: String;
var ParValue: Variant);
begin
//标签和字段赋值
if SameText(ParName = 'abc') then
begin
ParValue:= "我的测试";
end;
 
后退
顶部