Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta Com 2 Ou Mais Checkboxes


mcsmarmcs

Pergunta

Estou com dúvidas pra realizar a consulta abaixo, quando seleciono um dos checkboxes, a consulta funciona normalmente. Mas ao selecionar os 2 checkboxes, a consulta retorna apenas o resultado da checkbox de baixo, o que devo fazer?

if ordenar.Checked then

begin

dm.qryclientes.Close;

dm.qryclientes.SQL.Clear;

dm.qryclientes.SQL.Add('SELECT * FROM cliente');

case coluna.ItemIndex of

0: dm.qryclientes.SQL.Add('ORDER BY codigo');

1: dm.qryclientes.SQL.Add('ORDER BY nome');

2: dm.qryclientes.SQL.Add('ORDER BY tipo');

end;

dm.qryclientes.Open;

RVclientes.ProjectFile := 'Relatorio_Clientes.rav';

RVclientes.Execute;

end

else

if (listar.Checked) then

begin

dm.qryclientes.Close;

dm.qryclientes.SQL.Clear;

dm.qryclientes.SQL.Add('SELECT * FROM cliente');

case (coluna3.ItemIndex) of

0: dm.qryclientes.SQL.Add('WHERE tipo="Pessoa Física"');

1: dm.qryclientes.SQL.Add('WHERE tipo="Pessoa Jurídica"');

end;

dm.qryclientes.Open;

RVclientes3.ProjectFile := 'Relatorio_Clientes_3.rav';

RVclientes3.Execute;

end

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa

O fato de os 2 estarem selecionados e não funcionar é pelo seguinte...

RVclientes.Execute;

end <--

else <--

if (listar.Checked) then

begin

Acontece que se um estava checado ele não passava pro outro, ao invés de verificar

se os 2 estavam checados, o correto seria fechar o end e não usar o else para poder

verificar se o outro checkbox também estava checado... não sei se fui bem claro rsr

Tente assim:

dm.qryclientes.Close;
dm.qryclientes.SQL.Clear;
dm.qryclientes.SQL.Add('SELECT * FROM cliente');
if ordenar.Checked then
begin
  case coluna.ItemIndex of
  0: dm.qryclientes.SQL.Add('ORDER BY codigo');
  1: dm.qryclientes.SQL.Add('ORDER BY nome');
  2: dm.qryclientes.SQL.Add('ORDER BY tipo');
  end;
  dm.qryclientes.Open;
  RVclientes.ProjectFile := 'Relatorio_Clientes.rav';
  RVclientes.Execute;
end;

if (listar.Checked) then
begin
  case (coluna3.ItemIndex) of
  0: dm.qryclientes.SQL.Add('WHERE tipo="Pessoa Física"');
  1: dm.qryclientes.SQL.Add('WHERE tipo="Pessoa Jurídica"');
  end;
  dm.qryclientes.Open;
  RVclientes3.ProjectFile := 'Relatorio_Clientes_3.rav';
  RVclientes3.Execute;
end;

Só que quando os 2 Checkboxes estiverem checados vai abrir 2 relatórios já que

você definiu 2 ProjectFile diferentes e um relatorio Rave diferente também para

cada checkbox, ou seja, não resolveu seu problema, mas como eu nunca usei o

Rave, suponho que esse RV e extensão .rav seja do Rave Reports, então não sei

nem como funciona, por exemplo, porque você usa ProjectFile do Rave um diferente

para cada checkbox, seria o Layout do relatório?

abraço

Editado por Churc
Não vi que eram 2 relatórios diferentes rsr
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...