sexta-feira, 23 de julho de 2010

Pesquisa entre faixa de valores com Firebird

Fonte: www.activedelphi.com.br

Caso queira abrir uma tabela do Firebird pelo Delphi, começando por exemplo, pelo registro com ID 11200 até o ID 11400, deverá usar esta procedure e chamá-la por um botão
Você poderá usar os componentes de acesso a dados de sua preferência, mas em meu caso, estou trabalhando com DBExpress (um SQLConection, um SimpleDataSet e um DataSource):
procedure TForm1.SQLFiltra(Sender: TObject);
var
  Campo1, Campo2: string;
  Ok1, Ok2: Boolean;
begin
  Campo1:=
'';
  Campo2:=
'';
  //recupera o código inicial na variável Campo1
  InputQuery(
'Código Inicial',
   
'Digite o Código onde começará a ser salvo a tabela',
    Campo1);
  //recupera o código final na variável Campo2
  InputQuery(
'Código Final',
   
'Digite o Código onde terminará a seleção para ser salvo a tabela',
    Campo2);
  //se informou os dois códigos
  if (Campo1 <> '') and (Campo2 <> '') then
  begin

    //monta o select utilizando o operador BETWEEN, que faz a pesquisa
    //entre uma faixa de valores, seja numérico, caracter ou date/hora

    SimpleDataSet1.Close;
    SimpleDataSet1.DataSet.CommandText :=
'SELECT * FROM TABELA' +
     
' WHERE CAMPOTABELA BETWEEN ' + Campo1 + ' AND ' + Campo2;
    SimpleDataSet1.Open;
  end
  else

    ShowMessage(
'Valor(es) não digitado(s)');
end;

Nenhum comentário:

Postar um comentário