[求助]可以帮忙看看哪里不对吗?谢谢谢谢 (50分)

  • 主题发起人 主题发起人 Roadsign
  • 开始时间 开始时间
R

Roadsign

Unregistered / Unconfirmed
GUEST, unregistred user!
很简单的小东东,想实现从数据库中取出field[0]字段值(字段名ID),然后经过拼接,以qrlabel1.caption显示出来。
我的实现过程如下,麻烦大家耐着性子帮我看看:
form1
+-|openpicturedialog1、edit1、button1| 用来取出图形文件的路径,为后面拼接做准备
form2
+-|adotable1、datasource1| 用来连接数据库
+-|qrdbtext1| 连接到数据库的ID字段(field[0])
+-|qulabel1| 用来显示拼接后的内容
form1没问题,form2的代码如下
procedure TForm2.FormCreate(Sender: TObject);
var idno:string;
begin
with datasource1.DataSetdo
begin
idno:=datasource1.DataSet.Fields[0].AsString;//将ID字段值赋于idno
qrlabel1.Caption:=form1.Edit1.Text+idno+'.bmp';//拼接
end;
quickrep1.Preview;
end;

这段代码可以运行,可是问题是,qrlabel1.caption显示的内容全部都是一样的,都是c:/pic/1.bmp
我想让qrlabel1.caption随着数据库ID字段变化而变化,就是报表第一段显示c:/pic/1.bmp,第二段
显示c:/pic/2.bmp,等等等等……那该如何实现?
不知道我说清楚了没有,谢谢大家帮忙
 
qrlabel1 只有一个呀,如何变呢
 
qrlabel1不会变的吗?那该用哪个控件才对?
不好意思啊~以前没怎么接触过QR,所以……
 
用QRDBText连DataSet.Fields[0],然后在QRDBText.OnPrint中
Value := form1.Edit1.Text + Value + '.bmp';
试试看看,可能行,我也没试过
 
同意goddy
 
让他变datasource1的change事件里写改变代码,想想,该有个gird才好
 
非常感谢yue_shan朋友
也谢谢大家的热心帮忙,谢谢
 
是不是数据库中每条纪录的得id都要显示在qrlable上?如果是的话可能要在quickrep的ondeeddata事件中写。
procedure TForm1.QuickRep1BeforePrint(Sender: TCustomQuickRep;var PrintReport: Boolean);
begin
datasource1.DataSet.first;//打印之前将记录指针指向第一条
end;
procedure TForm1.QuickRep1NeedData(Sender: TObject;
var MoreData: Boolean);
var idno:string;
begin
idno:=datasource1.DataSet.Fields[0].AsString;//将ID字段值赋于idno
qrlabel1.Caption:=form1.Edit1.Text+idno+'.bmp';//拼接
MoreData:=not datasource1.DataSet.eof;
end;
 

Similar threads

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