[firebase-br] Navegação em cadastro

José Mauricio Barbisan Zottis bzottis em ig.com.br
Qui Nov 26 08:28:42 -03 2009


Oi, eu utilizo assim:

procedure TCadClientes.BTNPrimeiroClick(Sender: TObject);
begin
        with Navegador do
          begin
            close;
            SQL.Clear;
            SQL.Add('   select Min(COD_CLIENTE_EMPRESA) as codigo ');
            SQL.Add('   from CLIENTES WHERE DELETADO = ''N'' and Cod_Grupo =
:VarCOD_Grupo ');
              ParamByName('VarCOD_Grupo').AsInteger    := GRUPO_ATUAL;
            prepare;
            open;
          end;

end;


procedure TCadClientes.BTNAnteriorClick(Sender: TObject);
begin
      with Navegador do
          begin
            close;
            SQL.Clear;
            SQL.Add('select MAX(COD_CLIENTE_EMPRESA)as Codigo from Clientes
where Cod_Cliente_Empresa <:VarCod_Cliente and ');
            SQL.Add(' DELETADO = ''N'' and Cod_Grupo = :VarCOD_Grupo ');
              parambyname('VarCod_Cliente').AsInteger  :=
DadosCad.ClientesCadCOD_CLIENTE_EMPRESA.Value;
              parambyname('VarCOD_Grupo').AsInteger    := GRUPO_ATUAL;
              prepare;
              open;
          end;
end;




procedure TCadClientes.BTNProximoClick(Sender: TObject);
begin
      with Navegador do
          begin
            close;
            SQL.Clear;
            SQL.Add('select MIn(COD_CLIENTE_EMPRESA)as Codigo from Clientes
where Cod_Cliente_Empresa >:VarCod_Cliente and ');
            SQL.Add(' DELETADO = ''N'' and Cod_Grupo = :VarCOD_Grupo ');
              parambyname('VarCod_Cliente').AsInteger  :=
DadosCad.ClientesCadCOD_CLIENTE_EMPRESA.Value;
              parambyname('VarCOD_Grupo').AsInteger    := GRUPO_ATUAL;
              prepare;
              open;
          end;

end;






procedure TCadClientes.BTNUltimoClick(Sender: TObject);
begin
        with Navegador do
          begin
            close;
            SQL.Clear;
            SQL.Add('   select Max(COD_CLIENTE_EMPRESA) as codigo ');
            SQL.Add('   from CLIENTES WHERE DELETADO = ''N'' and Cod_Grupo =
:VarCOD_Grupo ');
              ParamByName('VarCOD_Grupo').AsInteger    := GRUPO_ATUAL;
             // ParamByName('VarCod_Cliente_empresa').AsInteger    :=
strtoint(editbusca.text);
            prepare;
            open;
          end;
end;


2009/11/25 Rogerio Calixto <roger.programador em gmail.com>

> Olá, estou tentando otimizar uma navegação na tela de cadastro,
>
> Qdo clico no botão próximo uso o código:
>
> "Select First 1 CodUnidade, Descricao, Sigla from Unidades where CodUnidade
> > " + aChaveAtual + " order by CodUnidade"
> Pelo que eu imagino o "First 1" pega exatamente o registro seguinte sem
> pesar na aplicação.
>
> Mas e pra pegar o registro anterior ?
>
> Abraço
>
> --
> Rogério Calixto
> Programador de Sistemas
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista