为什么报表有时没有数据??各位大侠快来帮忙!(20分)

  • 主题发起人 主题发起人 lsyx
  • 开始时间 开始时间
L

lsyx

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure Tfmlsy.PrintButtonClick(Sender: TObject);
begin
if not Table1.RecordCount<1
then
begin
if not Assigned(pfmlsy) //pfmlxy 是报表窗体
then
Application.CreateForm(Tpfmlsy,pfmlsy);
pfmlsy.QuickRep1.Preview;
end
else
MessageDlg('报表无记录!',mtinformation,[mbok],0);
end;
pfmlxy 是报表窗体,是用的QuickRep控件。
QuickRep控件DataSet设置正确,是fmlxy.Table1
一般是好的,但有时没有数据,之后就再也没有数据了,
除非重新打开程序。为什么??
Delphi5+Access97.
 
你要把fmlxy.Table1指向第一条记录,即
Table1.first;
...
 
To 小天:
还是不行,老样子!
(:-(
 
????????
????????
 
你的报表是打印查询结果还是打印全部记录,如果是查询会不会是查询没有结果,
fmlxy.Table1是否打开,报表设计时是不是控件设置有问题。
 

打开报表的窗口时加一句。

Table1.refresh;
 
procedure Tfmlsy.PrintButtonClick(Sender: TObject);
begin
if not Table1.RecordCount<1
then
begin
if not Assigned(pfmlsy) //pfmlxy 是报表窗体
then
Application.CreateForm(Tpfmlsy,pfmlsy);
pfmlsy.QuickRep1.Preview;
pfmlsy.free;
//new in 2000-6-8
end
else
MessageDlg('报表无记录!',mtinformation,[mbok],0);
end;
 
你在你的项目设置option中查看一下,看看有几个主表单,如果有多个,当然就会
有空的现象了,把你的报表表单移到右边去(从表单),再试试。
如果在预览时出现问题,则
用以下方法:
WITH 报表表单名.create(self)do
try
xxxx.Preview;
finally
free;
end;
问题应该可以解决。
 
多人接受答案了。
 
后退
顶部