Ir para conteúdo

POWERED BY:

Arquivado

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

Ådriano

Delphi+firebird+sql

Recommended Posts

Tenho a seguinte Pesquisa:

dm.Qmensal.Close;dm.Qmensal.SQL.Clear;dm.Qmensal.SQL.Add('Select*from Atendimento');Dm.Qmensal.SQL.Add('Where data  between :dtInicio and :Dtfim');dm.Qmensal.SQL.Add('and controle=''F''');dm.Qmensal.SQL.Add('order by data');dm.Qmensal.ParamByName('DtInicio').Value:=strtodate(datetostr(DtInicio.date));dm.Qmensal.ParamByName('Dtfim').value:=strtodate(datetostr(dtfim.date));Dm.Qmensal.open;
A pesquisa funciona bl só que eu queria por mais um campo que seria depois de

dm.Qmensal.SQL.Add('and controle=''F''');
Colocar para a pesquisa procurar por outro campo e não adicionar ele no dbgrid.

Eu fiz assim mas não funcionou:

Dm.qmensal.SQL.Add('and not falta=''OK'''');
Este OK seria o que o usuario coloca depois de fazer a pesquisa acima...

ex:

depois da pesquisa de Fantantes(F(campo controle))ele coloca "OK "no campo falta para saber Que foi marcado um outro dia

e qdo ele pesquisar de novo não mostraria o registro do cliente com o "OK".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu não ......fiz do jeito que você pediu e nada....

testei até no ibexpert e não mostra nada....olha como ficou

dm.Qmensal.Close;

dm.Qmensal.SQL.Clear;

dm.Qmensal.SQL.Add('Select*from Atendimento');

Dm.Qmensal.SQL.Add('Where data between :dtInicio and :Dtfim');

dm.Qmensal.SQL.Add('and controle=''F''');

dm.Qmensal.SQL.Add('and falta <>''OK''');

dm.Qmensal.SQL.Add('order by data');

dm.Qmensal.ParamByName('DtInicio').Value:=strtodate(datetostr(DtInicio.date));

dm.Qmensal.ParamByName('Dtfim').value:=strtodate(datetostr(dtfim.date));

Dm.Qmensal.open;

[\code]

....

lembrando q o campo falta é varchar....(pois se não se lembras eu ja apanhei uma vez tentando fazer uma consulta com campo errado...).

...100+Ådriano no aguardo....

muito obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Madrugada, beleza??? srsrsrs...

 

Tente assim:

dm.Qmensal.Close;dm.Qmensal.SQL.Clear;dm.Qmensal.SQL.Add('Select*from Atendimento');Dm.Qmensal.SQL.Add('Where data  between :dtInicio and :Dtfim');dm.Qmensal.SQL.Add('and controle=' +QuotedStr('F'));dm.Qmensal.SQL.Add('and falta <>' +QuotedStr('OK'));dm.Qmensal.SQL.Add('order by data');dm.Qmensal.ParamByName('DtInicio').AsDate := strtodate(datetostr(DtInicio.date));dm.Qmensal.ParamByName('Dtfim').AsDate := strtodate(datetostr(dtfim.date));Dm.Qmensal.open;

Cara, peço que se não der certo... poste a estrutura dessa tabela atendimento com os campos e seus respectivos tipos, ok?

 

 

Estou no aguardo!!!

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

BL...É o seguinte este campo falta é varchar e qdo não tem a palavra "OK" o campo é vazio...tentei de varias formas aqui mas não vai....em ultimo caso, penso em colocar alguma coisa escrita no campo "falta".Do que o campo ficar vazio(nulo)peço para escrever a palavra "nulo" (tentando assim com alguma coisa escrita no campo a pesquisa funciona bl....).

Compartilhar este post


Link para o post
Compartilhar em outros sites

então como ja disse usando o ibexpert e fazendo a consulta em sql não mostra tb...O lance do nulo é o seguinte:Quando eu adciono o registro o campo falta vai sem valor nenhum....por isso que eu disse que era nulo........a minha tb tem os campos :codigo=integernome=varcharhora=varchardata=datefalta=varchar(qdo gravado um registro ele fica em branco só depois de editar o registro por uma razão qualquer é que você coloca a palavra 'OK', a não ser fiva em branco...)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

dm.Qmensal.Close;dm.Qmensal.SQL.Clear;dm.Qmensal.SQL.Add('Select *');dm.Qmensal.SQL.Add('from atendimento');dm.Qmensal.SQL.Add('Where atendimento.data between :dtInicio and :Dtfim');dm.Qmensal.SQL.Add('and atendimento.controle = ' +QuotedStr('F'));dm.Qmensal.SQL.Add('and atendimento.falta is null');dm.Qmensal.SQL.Add('order by data');dm.Qmensal.ParamByName('DtInicio').AsDate := strtodate(datetostr(DtInicio.date));dm.Qmensal.ParamByName('Dtfim').AsDate := strtodate(datetostr(dtfim.date));Dm.Qmensal.open;

Já que falata é preenchido somente em um caso e você quer procurar os falta for diferente de 'OK', tente usar procurando por onde ele for nulo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

POxa vida Kra vcs daqui deste forum são F*%@ deu certinho ...No proprio banco de dados tb deu certo..muito obrigado mesmo.....Até a proxima. rsrsrsrsrsValeu hugo e valeu marcio...

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.