Bueno ya hice lo que me han propuesto y sale perfecto, solo tengo una problema, alguien se le ocurre como controlar los registros, es decir:
he hecho algo al llegar al registro numero 100 y pasa perfectamente al siguiente registro, pero tengo problemas al dar clic en el boton PRIOR del DBNavigator. Si alguien me corrige lo realizado o me da una idea mejor gracias.
Nota: lo hice con 10 registros para ver mas rapido lo que pasa.
Código Delphi
[-]
procedure TwConsigna.bsSkinDBNavigator1Click(Sender: TObject;
Button: TbsNavigateBtn);
begin
zqReg.Open; if Button in [nbLast,nbFirst] then
begin
zqConsi.Close;
zqConsi.SQL.Clear;
zqConsi.SQL.Add(MiSQL);
zqConsi.SQL.Add('ORDER BY ID_CG DESC');
if Button = nbLast then
begin
zqConsi.ParamByName('R').Value := zqRegCOUNT.Value - 9;
zqConsi.Open;
zqConsi.Last;
end else
begin
zqConsi.ParamByName('R').Value := 0;
zqConsi.Open;
end;
end else
if Button = nbNext then
begin
if (zqConsi.Eof) and (Bloque < (zqRegCOUNT.Value div 10)) then
begin
Inc(Bloque,10);
zqConsi.Close;
zqConsi.ParamByName('R').Value := Bloque;
zqConsi.Open;
end;
end else
if Button = nbPrior then
if (zqConsi.Bof) and (Bloque > 0) then
begin
Dec(Bloque,10);
zqConsi.Close;
zqConsi.ParamByName('R').Value := Bloque;
zqConsi.Open;
zqConsi.Last;
end;
zqReg.Close;
end;