热情软件屋

 

如何返回经过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;

此问题由邓昆回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio