Ver Mensaje Individual
  #19  
Antiguo 25-06-2010
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 364
Reputación: 20
Jose Roman Va por buen camino
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; // Query que da el numero de registros
  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;
// Bloque variable que determina en que bloque de registro esta
Responder Con Cita