Mais de uma opção na adoquery
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:
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?
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
Curtidas 0
Respostas
Natanael Ferreira
24/10/2018
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;GOSTEI 0
Edilson Santiago
24/10/2018
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.
GOSTEI 0
Natanael Ferreira
24/10/2018
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;GOSTEI 0