如何在报表中打印当前记录(100分)

  • 主题发起人 主题发起人 光山
  • 开始时间 开始时间

光山

Unregistered / Unconfirmed
GUEST, unregistred user!
在用QReport控件打印报表时,将会把当前数据集(Query1)的全部记录打印出来
,现请教如何只把当前一条记录打印出来?
 
直接在QReport上放qrlabel,qrtext等
 
请教zwma:我找遍所有控件,也找不到你说的qrtext,再说即使找到qrtext,
如何与QUERY1部件相连?请继续指点迷津.
 
对不起,上次的QRTEXT错了,应为QRDBTEXT
另注意不要用任何qrband
直接写
 
设置query使之仅包含所要的那条记录!
 
对该问题的解决办法我也有迫切需要,zwma的回答中没有涉及如何定位到当前记录,
philips的回答中是指特定记录,而当前记录是会变化的。有哪位高手请速指点,万
分感谢!
 
我用ReportBuilder,
只要设置TppDBPipeline的Rangebegin
为rbCurrentRecord,RangEnd为reCurrentRecord即可。
 
我现在用的是Delphi5,如何找到ReportBuilder,请详细说明,谢!
 
用query先过滤,选出当前纪录,再打印即可。
调用与报表连接query的sql.动态添加查询除当前纪录ok!
 
QUERY1.FILTERED:=TRUE;
在QUERY1的ONFILTEREDRECORD事件中写
IF QUERY1.FIELDBYNAME('BH').ASSTRING = '1002' then
ACCEPT:=TRUE
else
ACCEPT:=FALSE;
 
如果你经常这么做,你可以:
因为是一条记录,所以不必放detailband, 而该用titleband, 将其拉满至一页。
在报表 titleband 上放置好 qrptlabel,通过程序,设置其值(当前记录的值,
直接取即是,如: query1.fieldbyname('name').asString)。
 
假设 1.Quickreport1 的DATASET 为QUERY1;
2.Key为能决定当前记录的关键詞
Procedure TForm1.Button1Click(Sender:TObject);
begin
Key:=?
with TQuickreport1.Create(self)do

try
query1.ParabyName('关键词').as所需类型:=Key;
query1.open;
Print;
finally
Free;
end;

 
philips说的没错,我也经常用这种方法,很方便的。
 
很简单,QuickRep1.dataset=当前数据表。
 
选中要打印的记录,可以传相应的关键值给QuickRep1相应的QUERY1,进行定位。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
875
DelphiTeacher的专栏
D
后退
顶部