如何返回经过Filter过的当前记录号
编号:QA001892
建立日期: 1999年10月22日 最后修改日期:2002年4月22日
所属类别:
韩冰:
在使用DELPHI 4.0开发数据库程序时,想知道当前记录号,但使用了FILTER,用RecNo能得到真实数据库中的记录号,因为TABLE控件使用了FilterRecord方法,想返回经过Filter过的当前记录号。希望予以解答,万分感谢!
回答:
关于记录号的问题,可以考虑这么解决:
在TABLE或者QUERY中增加一个字段RCOUNT,设定为INT,CALCULATED类型。
程序中设一个全局变量RECCOUNT,在下面两个事件中设定如下代码:
(TABLE OR QUERY)AFTEROPEN事件: RECCOUNT := 0;
(TABLE OR QUERY)ONCALCULATED事件: QUERY1RCOUN.ASINTEGER := RECOUNT;INC(RECOUNT);
这样在TABLE或者QUERY中就有一个表示记录号的字段了。
godwolf的意见:
试试这个方法,速度还行
var
globalbookmark : tbookmark;
begin
globalbookmark:=table1.GetBookmark;
table1.filtered := false;
table1.GotoBookmark(globalbookmark);
table1.FreeBookmark(globalbookmark );//用完后记得要释放
end;
此问题由邓昆回答。
| |
|
|
| |
|
|