Fórum Mais de uma opção na adoquery #598169

24/10/2018

0

Amigos, na minha tabela "Pessoas" tenho uma coluna para "status", que é preenchida por uma combobox com os itens "ativo, inativo, impossibilitado e desligado"
Quando a pessoa está com o status "desligado" é porque não faz mais parte do quadro de alunos. Mas se tiver ativo, inativo ou impossibilitado, ainda faz parte.

Pois bem, preciso de uma consulta que me retorne os nomes dos que fazem parte num dbgrid. Ou seja, todos os que estão ativos, inativos ou impossibilitados.

Fiz assim:

if Combobox1.Text = 'Membros' then
begin
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.add('select * from CadPessoas');
AdoQuery1.SQL.add('where status = :ativo and :inativo and :impossibilitado');
AdoQuery1.SQL.add('Order by Nome');
AdoQuery1.Open
end;


Mas não dá certo. Retorna mensagem dizendo que as informações são inconsistentes ou incompletas.

Alguém pode me ajudar com esse código?
Edilson Santiago

Edilson Santiago

Responder

Posts

24/10/2018

Natanael Ferreira

Coloque na condição da SQL para mostrar todos diferentes de 'desligado'.

 if Combobox1.Text = 'Membros' then
  begin
    AdoQuery1.Close;
    AdoQuery1.SQL.Clear;
    AdoQuery1.SQL.add('select * from CadPessoas');
    AdoQuery1.SQL.add('where status <> ' + QuotedStr('desligado')); // Alterei esta linha
    AdoQuery1.SQL.add('Order by Nome');
    AdoQuery1.Open
  end;
Responder

Gostei + 0

24/10/2018

Edilson Santiago

Coloque na condição da SQL para mostrar todos diferentes de 'desligado'.

 if Combobox1.Text = 'Membros' then
  begin
    AdoQuery1.Close;
    AdoQuery1.SQL.Clear;
    AdoQuery1.SQL.add('select * from CadPessoas');
    AdoQuery1.SQL.add('where status <> ' + QuotedStr('desligado')); // Alterei esta linha
    AdoQuery1.SQL.add('Order by Nome');
    AdoQuery1.Open
  end;


Não consigo, pois tenho dois tipos de desligado, um a pedido e outro por abandono.
Responder

Gostei + 0

24/10/2018

Natanael Ferreira

Teste desta outra maneira:

if ComboBox1.Text = 'Membros' then
  begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.add('select * from CadPessoas');
    ADOQuery1.SQL.add('where status = ' + QuotedStr('ativo'));
    ADOQuery1.SQL.add(' or status = ' + QuotedStr('inativo'));
    ADOQuery1.SQL.add(' or status = ' + QuotedStr('impossibilitado'));
    ADOQuery1.SQL.add('Order by Nome');
    ADOQuery1.Open
  end;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar