procedure TForm1.DBGridEh1TitleClick(Column: TColumnEh);
var
  sortstring:string;begin
//
 if dbgrideh1.columns[0].Title.sorter=smdowneh then
 begin
      dbgrideh1.columns[0].Title.sorter:=smupeh ;
     sortstring := dbgrideh1.Columns[0].FieldName + ' DESC';
 end
      else
      begin
      dbgrideh1.columns[0].Title.sorter:=smdowneh;
        sortstring := dbgrideh1.Columns[0].FieldName + ' ASC';
       end;
 adoquery1.Sort:=sortstring;
 adoquery1.Locate('条件',1,[]);
end;
现在正向查询的时候可以定位到第一条,反向的时候是定位到最后一条
就我上面的代码如何实现始终定位到第一条数据?

解决方案 »

  1.   

    那正向时 就first
      反向时 就last  
      

  2.   

    就是说adoquery1查询出来有几千行数据,
    比如说有几十个单位,每个单位有几十个人。我要定位到某个单位的第一条记录,这个怎么做?
    正向查询的时候可以定向到,反向查询的时候定位到的是某单位的最后一条记录。
      

  3.   

    select * from *** where 单位=******
    open;
    first  不知道是不是你要的意思