ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[resolvido] Problemas consulta

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Qui Nov 16, 2017 9:34 am    Assunto: [resolvido] Problemas consulta Responder com Citação

Tenho um cadastro de procedimentos com esses dados

Código:
ID / descrição / convenio
1 / teste / 0
2/ isostretching / 0
254569 / traumato / 5


Ao agendar uma consulta, preciso informar os procedimentos que serão aplicados. Antes eu mostrava somente os que estão vinculados ao convenio, mas agora precioso mostrar tbm os que tem o convenio zero(0)

Estou tentando a busca, via ID, assim, mas não funciona.
Para qualquer codigo que eu digitar, traz TESTE como descrição



Código:
      qrBusca.Close;
      qrBusca.SQL.Clear;
      qrBusca.SQL.Add('SELECT CODIGO, ID_PROCEDIMENTO, PROCEDIMENTO, VALOR');
      qrBusca.SQL.Add('FROM PROCEDIMENTOS');
      qrBusca.SQL.Add('WHERE ID_PROCEDIMENTO = :ID');
      qrBusca.SQL.Add('AND COD_CONVENIO = :CONV or COD_CONVENIO = :PART');

      qrBusca.ParamByName('ID').AsInteger:= StrToInt(edIDProcedimento.Text);

      //busca o procedimento do convenio vinculado e tbm os particulares
      if LookupConvenio.Text <> '' then
      begin
        qrBusca.ParamByName('CONV').AsInteger := LookupConvenio.KeyValue;
        qrBusca.ParamByName('PART').AsInteger := 0;
      end
      else
        qrBusca.ParamByName('CONV').AsInteger := 0;

      qrBusca.Open;


Editado pela última vez por renanbg em Qui Nov 16, 2017 10:27 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Nov 16, 2017 9:42 am    Assunto: Responder com Citação

Bom dia,

Não sei se entendi corretamente mas experimente fazer uns testes dessa forma:

Código:
      qrBusca.Close;
      qrBusca.SQL.Clear;
      qrBusca.SQL.Add('SELECT CODIGO, ID_PROCEDIMENTO, PROCEDIMENTO, VALOR');
      qrBusca.SQL.Add('FROM PROCEDIMENTOS');
      qrBusca.SQL.Add('WHERE ID_PROCEDIMENTO = :ID');
      qrBusca.SQL.Add('OR COD_CONVENIO = :CONV or COD_CONVENIO = :PART');

      qrBusca.ParamByName('ID').AsInteger:= StrToInt(edIDProcedimento.Text);

      //busca o procedimento do convenio vinculado e tbm os particulares
      if LookupConvenio.Text <> '' then
      begin
        qrBusca.ParamByName('CONV').AsInteger := LookupConvenio.KeyValue;
        qrBusca.ParamByName('PART').AsInteger := 0;
      end
      else
      begin
        qrBusca.ParamByName('CONV').AsInteger := 0;
        qrBusca.ParamByName('PART').Clear;
      end;

      qrBusca.Open;


Espero que ajude

_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-alugar-guarulhos!pres_dutra-residencial-casa
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Qui Nov 16, 2017 10:01 am    Assunto: Responder com Citação

Não deu certo.

Ao digitar a ID 1, traz uma descrição que não é dessa ID

O codigo que funciona, é esse. Porem ele traz apenas os procedimentos vinculados ao convenio

Código:
      qrBusca.Close;
      qrBusca.SQL.Clear;
      qrBusca.SQL.Add('SELECT CODIGO, ID_PROCEDIMENTO, PROCEDIMENTO, VALOR');
      qrBusca.SQL.Add('FROM PROCEDIMENTOS');
      qrBusca.SQL.Add('WHERE ID_PROCEDIMENTO = :ID and COD_CONVENIO = :CONV');
      qrBusca.ParamByName('ID').AsInteger:= StrToInt(edIDProcedimento.Text);
      //Filtro que busca o procedimento pelo convenio vinculado
      if LookupConvenio.Text <> '' then
         qrBusca.ParamByName('CONV').AsInteger:= LookupConvenio.KeyValue
      else
         qrBusca.ParamByName('CONV').AsInteger:= 0;

      qrBusca.Open;


Preciso que ele traga tbm os procedimentos cujo COD_CONVENIO seja igual a zero
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qui Nov 16, 2017 10:12 am    Assunto: Responder com Citação

Experimente dessa forma:

Código:
      qrBusca.Close;
      qrBusca.SQL.Clear;
      qrBusca.SQL.Add('SELECT CODIGO, ID_PROCEDIMENTO, PROCEDIMENTO, VALOR');
      qrBusca.SQL.Add('FROM PROCEDIMENTOS');
      qrBusca.SQL.Add('WHERE ID_PROCEDIMENTO = :ID and (COD_CONVENIO = :CONV OR COD_CONVENIO = 0)');
      qrBusca.ParamByName('ID').AsInteger:= StrToInt(edIDProcedimento.Text);
      //Filtro que busca o procedimento pelo convenio vinculado
      if LookupConvenio.Text <> '' then
         qrBusca.ParamByName('CONV').AsInteger:= LookupConvenio.KeyValue
      else
         qrBusca.ParamByName('CONV').AsInteger:= 0;


Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Qui Nov 16, 2017 10:15 am    Assunto: Responder com Citação

Bingo!

Obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB