我有一个打印按钮下进行了将数据赋值到frxreport1上的操作,frxreport1画了一个表格。我读取一个表中数据将之写入表格中,frxreport1上没有放任何页眉、页头、区带等,直接在空白设计页面上画的表格。表格上方有几个memo连接某记录集直接读取记录数据,表格中则放置规律命名的memo若干个用来被赋值。由于表格需要固定行数,因此我代码如下:
procedure Tfmsctz_ds.BitBtn21Click(Sender: TObject);
var f,f1:integer;
begin
if (dst4.Active=true)and(dst4.RecordCount>0)then
begin
frxreport1.LoadFromFile(ExtractFilePath(ParamStr(0))+'a.fr3');
if (dst41.Active=true)and(dst41.RecordCount>0) then
begin
f1:=dst41.RecordCount;
if f1<=20 then
f:=f1
else
f:=20;
f1:=1;
dst41.First;
while f1<f+1 do
begin//这些都是执行循环赋值用的代码,memo命名为m11,m12,m13,m21,m22,m23......这样,不超过20行
(frxreport1.FindObject( 'm'+inttostr(f1)+'1') as TfrxMemoView).Text:=dst41.fieldbyname('name').AsString;
(frxreport1.FindObject( 'm'+inttostr(f1)+'2') as TfrxMemoView).Text:=dst41.fieldbyname('dw').AsString;
(frxreport1.FindObject( 'm'+inttostr(f1)+'3') as TfrxMemoView).Text:=dst41.fieldbyname('sl0').AsString;
dst41.Next;
f1:=f1+1;
end;
(frxreport1.FindObject( 'mhj') as TfrxMemoView).Text:=dst4.fieldbyname('sl').AsString;
end;
frxreport1.ShowReport();
end;
end;
很奇怪的是有的记录执行时不报错,有的记录执行时报书签无效错误
求解~
procedure Tfmsctz_ds.BitBtn21Click(Sender: TObject);
var f,f1:integer;
begin
if (dst4.Active=true)and(dst4.RecordCount>0)then
begin
frxreport1.LoadFromFile(ExtractFilePath(ParamStr(0))+'a.fr3');
if (dst41.Active=true)and(dst41.RecordCount>0) then
begin
f1:=dst41.RecordCount;
if f1<=20 then
f:=f1
else
f:=20;
f1:=1;
dst41.First;
while f1<f+1 do
begin//这些都是执行循环赋值用的代码,memo命名为m11,m12,m13,m21,m22,m23......这样,不超过20行
(frxreport1.FindObject( 'm'+inttostr(f1)+'1') as TfrxMemoView).Text:=dst41.fieldbyname('name').AsString;
(frxreport1.FindObject( 'm'+inttostr(f1)+'2') as TfrxMemoView).Text:=dst41.fieldbyname('dw').AsString;
(frxreport1.FindObject( 'm'+inttostr(f1)+'3') as TfrxMemoView).Text:=dst41.fieldbyname('sl0').AsString;
dst41.Next;
f1:=f1+1;
end;
(frxreport1.FindObject( 'mhj') as TfrxMemoView).Text:=dst4.fieldbyname('sl').AsString;
end;
frxreport1.ShowReport();
end;
end;
很奇怪的是有的记录执行时不报错,有的记录执行时报书签无效错误
求解~
解决方案 »
- 请教几个问题,关于线程的
- 在一个Active Form里创建一个工作线程,如何让Form接收到这个工作线程发送的消息?
- 如何在win2000未登录前运行scktsrvr.exe
- 高高手帮忙:怎样判断一个Email地址是否存在?
- 怎样实现在安装程序过程中,自动添加一个ODBC的数据源?
- 请问各位怎么样定义一个不定长的结构体:
- 怎么终止某个外部程序??
- 100分——难道就没有高手指点我一下:TTS怎么发中文???分不够再加,搞了几天都没搞好!!!
- 服务端怎么写,可同时连接几十万人?
- 窗体显示在pagecontrol里但是代码里的Self变成父窗体了,怎么办?
- 有没有可能直接从资源里加载dll文件?
- 狂减55斤不反弹!
这几个memo是不是也放在frxmasterdataband上了, 如果是, 楼主的代码肯定就有问题了.
我在设计某些打印时偶尔会发生点击打印按钮时发现打印页数无限多,就是打印预览页面上明明只有一个页面的内容,页码却一直不停地增加,点击取消后才能停止页码增加。请问谁能大概说明一下如何能有效避免该状况的发生呢?