Ir para conteúdo

POWERED BY:

Arquivado

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

jtftelles

Comparar validade entre datas de uma tabela e colocar os resultados en

Recommended Posts

pessoal é o seguinte, estou tentando fazer um programa de cadastro de clientes para a minha academia, eu tenho 2 tabelas a primeira contém (id, nome, endereço, telefone e vencimento) e a segunda comtém (id, nome e vencimento). Meu problema é o seguinte, estou tentando fazer uma busca na tabela 1 por todas as datas de pagamento que ultrapasaram o prazo e quero colocar o id o nome e o vencimento desses atrasados na segunda tabela. Estou usando os componentes Adoconnection para fazer uma conexão com um banco de dados feito em Access. estou utilizando o seguitne código

 

Adotable1.First;if not adotable1.EoF then begindbnavigator2.btnclick(NbInsert);DbEdit1.Text := adotable1.fields[6].AsString > DateToStr(Date);dbnavigator2.btnclick(NbPost);Adotable1.Next;

Ocorre um erro de compatibilidade entre String e boolean

 

Sou inexperiente em delphi, por favor me ajudem

Obrigado galera!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde, tudo bem?

 

Bom, isso pode ser feito da seguinte forma...

 

com duas tabelas...

 

Clientes e devedores por exemplo...

TblClientes.First;While Not TblClientes.Eof doBegin   if TblClientesVencimento.Value > DatetoStr(Date) then   begin	   tbldevedores.append;	   tbldevedoresid.value := tblclientesid.value;	   tbldevedoresnome.value := tblclientesnome.value;	   tbldevedores.Post;   end;   TblClientes.Next;End;

 

qq duvida posta aew http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, funcionou perfeitamente! o unico problema é q cada vez q eu abro o programa ele coloca o mesmo devedor na lista, mas muito obrigado mesmo! e desculpe minha ignorancia em delphi hehehe é q to aprendendo na marra sabe. vou estar sempre perguntando coisas pra vcs do imasters!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, tudo bem???

 

então, não cheguei a ver o link do amigo Márcio, mas a idéia da tabela devedores é sempre ser atualizada entende???

 

e pra isso agente pode fazer um if...

 

ou então apagá-la e inserir novamente os dados... mostrarei as duas formas...

 

Apagando...

tbldevedores.EmptyTable;TblClientes.First;While Not TblClientes.Eof doBegin   if TblClientesVencimento.Value > DatetoStr(Date) then   begin	   tbldevedores.append;	   tbldevedoresid.value := tblclientesid.value;	   tbldevedoresnome.value := tblclientesnome.value;	   tbldevedores.Post;   end;   TblClientes.Next;End;

 

Consultando...

 

TblClientes.First;While Not TblClientes.Eof doBegin   if TblClientesVencimento.Value > DatetoStr(Date) then   begin	   if not tbldevedores.locate('id', tblclientesid.value,[]) then	   begin		  tbldevedores.append;		  tbldevedoresid.value := tblclientesid.value;		  tbldevedoresnome.value := tblclientesnome.value;		  tbldevedores.Post;	   end;   end;   TblClientes.Next;End;

Compartilhar este post


Link para o post
Compartilhar em outros sites

opah!! valew amigão! deu certinho!!- Tenho uma curiosidade apenas: é possivel mostrar os resultados do LOCATE em alguma listbox ou numa tabela? obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então. o Locate posiciona no registro requisitado se ele o encontrar...

 

no caso, se a tabela estiver ligada a um DBGrid... você poderá notar que se encontrar o grid colocará uma setinha preta ao lado do registro, que significa que aquele é o registro corrente....

 

existem outras formas de mostrar o resultado, agora depende do que deseja fazer....

 

 

abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.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.