查询打印问题(请看正文)(50分)

  • 主题发起人 主题发起人 skytears
  • 开始时间 开始时间
S

skytears

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一查询表单,上面有一些文本框用来显示查询结果,有命令按钮查询、上一条、
下一条、打印。当我查询出n 条结果后,我按打印,关闭预览窗口后,回来现点下一条,
显示没反应。 有时查询后打印预览窗口是空的。请指点迷津。
 
你是不是在报表中直接将报表的DataSet设为了你查询的Query?
如果是,那么:
1 预览后,报表已将Query的记录移到最后一条所以点下一条,显示没反应。
2 你的Query的记录指针已经到最后一条,预览就是空的了。
一句话,预览会从当前记录指针位置开始,遍历到最后一条记录。
解决方法是打印另用Query,在报表Create后QueryRP.Open;
要保证两个Query一致用 QueryRP.SQL.Assign(Query.SQL)
 
按delphiland 做打印速度明显下降, 有没有更好的办法。
 
OK,那就回来吧
用Bookmark
Var
SavePlace: TBookmark;
begin
在打印前:
Query1.GetBookMark;
Query1.First;
预览后:
Query1.GotoBookMark;
FreeBookmark(SavePlace);
 
为什么有时候查询以后按打印内容为空而查询结果不为空:
 
delphiland 的经验看来很丰富

我想也是这样的

你一定要密切关注打印控件连接的结果集
 
我又仔细看了一下,是这样子:
第一次查询,打印正常,
这时退出预览窗口,关闭查询窗口,
再打开查询窗口,再打印就会出现查询正常,而打印结果为空;
 
后退
顶部