Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Shimaru

s com pesquisa Sql

Recommended Posts

Boa noite pessoal, preciso novamente da ajuda de vcs, preciso fazer uma pesquisa em uma tabela e preciso fazer com que a pesquisa funcione ATRAVES DE UM CAMPO OU DE OUTRO. Coloquei um codigo mais nao deu certo pq ele so funciona se os dois campos da pesquisa estiverem de acordo, o codigo é esse:

 

begin

Datainicio := DataToSql(MaskEdit1.Text);

Datafim := DataToSql(MaskEdit2.Text);

Dados.Pagar.Active := False;

Dados.Pagar.SQL.Clear;

Dados.Pagar.SQL.Add('SELECT * FROM CONTAS_PAGAR WHERE FORNECEDOR LIKE '+#39+Edit2.Text+'%'+#39);

Dados.Pagar.SQL.Add('AND VENCIMENTO BETWEEN '+#39+Datainicio+#39+' and '+#39+Datafim+#39);

Dados.Pagar.SQL.Add('order by '+nCol);

Dados.Pagar.Active := true;

end;

 

Quero pesquisar por fornecedor "sem depender" da data de VENCIMENTO ou por Data de Vencimento "sem depender" de FORNECEDOR.

 

Desde já agradeço a ajuda de vcs....

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola...você diz que:

Quero pesquisar por fornecedor "sem depender" da data de VENCIMENTO ou por Data de Vencimento "sem depender" de FORNECEDOR.

então nesta linha abaixo se endendi....troque o AND por OR e veja se da certo.

Dados.Pagar.SQL.Add('AND VENCIMENTO BETWEEN '+#39+Datainicio+#39+' and '+#39+Datafim+#39);

ficando assim:

 

Dados.Pagar.SQL.Add('OR VENCIMENTO BETWEEN '+#39+Datainicio+#39+' and '+#39+Datafim+#39);

 

OU ASSIM como abaixo pegando um exemplo meu, note que esta consulta minha abaixo parece bem semelhante com a sua...e funciona.: http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Add('Select * from PENDESP Where');
Add(' (REMETENTE Like' + QuotedStr('%' + Edit1.Text + '%'));
Add(' and DATA between :datainicial and :datafinal)');
Add(' OR (DESTINATARIO Like' + QuotedStr('%' + Edit1.Text + '%'));
Add(' and DATA between :datainicial and :datafinal)');
end;
ParamByName('DataInicial').AsDateTime := StrToDate( MaskEdit1.Text );
ParamByName('DataFinal').AsDateTime := StrToDate( MaskEdit2.Text );

trabalhe com parametros no campo das DATAS, como vê acima.

 

Espero que te ajude a dica..Boa Sorte

 

 

flw http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.