 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
renanbg Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012 Mensagens: 1158
|
Enviada: Qui Nov 16, 2017 9:34 am Assunto: [resolvido] Problemas consulta |
|
|
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 |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qui Nov 16, 2017 9:42 am Assunto: |
|
|
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 |
|
 |
renanbg Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012 Mensagens: 1158
|
Enviada: Qui Nov 16, 2017 10:01 am Assunto: |
|
|
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 |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qui Nov 16, 2017 10:12 am Assunto: |
|
|
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 |
|
 |
renanbg Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012 Mensagens: 1158
|
Enviada: Qui Nov 16, 2017 10:15 am Assunto: |
|
|
Bingo!
Obrigado. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|