Jump to content

Archived

This topic is now archived and is closed to further replies.

diogotadeu

[Resolvido] TabelaO

Recommended Posts

Agora sim ficou bom a msg de erro, isso quer dizer que temos que abrir a tabela antes de edita - la;

 

table1.open;

table1.First;

While Not table1.Eof do

if cadbk.table1.fieldbyname('Data').AsString= DateToStr(date) then

table1.edit;

cadbk.table1.fieldbyname('Status').AsString:= 'S';

table1.post;

table1.Next;

 

 

Quanto ao progressbar na grande maioria dos casos é só enfeite, após o fim do processo que o progress dispara.

 

 

wllf so tenho a te agradecer pelo que tem feito para me ajudar, sei que e muito encomodo entao pesso-lhe desculpas.

a aplicacao rodo legal so que quando eu executo fika lento o programa e acho que ele trava, ele num esta dando menssagem nenhuma mas num abre mais nada

 

 

agradeco mais uma vez

Share this post


Link to post
Share on other sites

Acredito que laço while não esteja finalizando, e por esso motivo ele fica lendo constantemente e trava, coloquei um begin e end para finalizar o laço.

 

Faz o seguinte manda rodar e acompanha a execução linha por linha, se você clicar do lado esquerdo da Linha de codigo a linha inteira vai ficar vermelha aí você acompanha a execução.

 

table1.open;

table1.First;

While Not table1.Eof do

begin

if cadbk.table1.fieldbyname('Data').AsString= DateToStr(date) then

table1.edit;

cadbk.table1.fieldbyname('Status').AsString:= 'S';

table1.post;

table1.Next;

end;

Share this post


Link to post
Share on other sites

wllf, você tem msn? se tive me add ai diogotad@hotmail.com . prometo que num vo te enche muito o saco kkkkkk

 

no final eu add algumas linhas entao o codigo esta assim

 

cadbk.table1.open;

cadbk.table1.First;

While Not cadbk.table1.Eof do

if cadbk.table1.fieldbyname('Limpar disco').AsString= DateToStr(date) then

cadbk.table1.edit;

cadbk.table1.fieldbyname('Status').AsString:= 'S';

cadbk.table1.post;

cadbk.table1.Next;

free;

close;

F_Principal.show;

 

 

ai ele ta dando erro memoria insuficiente

Share this post


Link to post
Share on other sites

Colega eu não uso msn, não sou muito fã de internet !

 

Tenha paciência, não é fácil programar mas tem que ter muita força de vontade e gostar de ler e pesquisar, você vai errar muitas vezes até vários dias mas sempre vai achar a solução, claro sempre testando e com isso você aprende tbem.

 

Coloquei algumas alterações em um post antes do seu último, o que você está tentando fazer é fácil é só pegar o jeito da coisa.

 

Outra coisa coloca esse codigo no evento Oncreate do formPrincipal.

Share this post


Link to post
Share on other sites

Colega eu não uso msn, não sou muito fã de internet !

 

Tenha paciência, não é fácil programar mas tem que ter muita força de vontade e gostar de ler e pesquisar, você vai errar muitas vezes até vários dias mas sempre vai achar a solução, claro sempre testando e com isso você aprende tbem.

 

Coloquei algumas alterações em um post antes do seu último, o que você está tentando fazer é fácil é só pegar o jeito da coisa.

 

Outra coisa coloca esse codigo no evento Oncreate do formPrincipal.

 

qual dos posts você alterou?

Share this post


Link to post
Share on other sites

table1.open;

table1.First;

While Not table1.Eof do

begin

if cadbk.table1.fieldbyname('Data').AsString= DateToStr(date) then

table1.edit;

cadbk.table1.fieldbyname('Status').AsString:= 'S';

table1.post;

table1.Next;

end;

Share this post


Link to post
Share on other sites

table1.open;

table1.First;

While Not table1.Eof do

begin

if cadbk.table1.fieldbyname('Data').AsString= DateToStr(date) then

table1.edit;

cadbk.table1.fieldbyname('Status').AsString:= 'S';

table1.post;

table1.Next;

end;

 

ixi cara nada de fumega kkkkk

so da memoria insuficiente, nem chega a abri

 

 

selecionei o codigo e apertei f5 ai apertei f9

as linhas

 

Begin

end

 

ficaram verde e com um x antes da linha

 

 

num sei se isso ajuda

Share this post


Link to post
Share on other sites

cara, pelo que entendi do seu problema, no seu banco você tem uma coluna DATA e outra DATA2, você precisa que quando a data atual for igual a data2 mudar o status para ativo certo?

nunca trabalhei com paradox, é possivel trabalhar com comandos SQL? pq se for é bem simples, basta fazer um update quando o sistema for aberto. Da seguinte forma:

 

UPDATE NOMEDATABELA SET STATUS = 'ATIVO' WHERE DATA2 <= NOW() AND STATUS <> 'ATIVO'

 

Se o Paradox não aceitar comando SQL você pode utilizar o seguinte comando

 

table.first;
while not(table.eof) do
begin
  if (tableDATA2.Valeu = Date()) and (tableSTATUS.Valeu <> 'ATIVO') then
  begin
    table.edit;
    tableSTATUS.Value = 'ATIVO';
    table.post;
  end;
  table.next;
end;

acho que é isso, qualquer coisa posta ai...

Share this post


Link to post
Share on other sites

cara, pelo que entendi do seu problema, no seu banco você tem uma coluna DATA e outra DATA2, você precisa que quando a data atual for igual a data2 mudar o status para ativo certo?

nunca trabalhei com paradox, é possivel trabalhar com comandos SQL? pq se for é bem simples, basta fazer um update quando o sistema for aberto. Da seguinte forma:

 

UPDATE NOMEDATABELA SET STATUS = 'ATIVO' WHERE DATA2 <= NOW() AND STATUS <> 'ATIVO'

 

Se o Paradox não aceitar comando SQL você pode utilizar o seguinte comando

 

table.first;
while not(table.eof) do
begin
  if (tableDATA2.Valeu = Date()) and (tableSTATUS.Valeu <> 'ATIVO') then
  begin
    table.edit;
    tableSTATUS.Value = 'ATIVO';
    table.post;
  end;
  table.next;
end;

acho que é isso, qualquer coisa posta ai...

 

 

 

Cara e mais ou menos isso, tem um campo na tabela com a data ela tem que comapra com a data atual e escrever em um outro campo da tabela (bdedit) a palavra sim.

vou testar para ve se da certo

Share this post


Link to post
Share on other sites

Galera num funciona de geito nenhum

 

 

cadbk.table1.open;

cadbk.table1.first;

while not(cadbk.table1.eof) do

begin

if cadbk.table1.fieldbyname('Data').AsString= DateToStr(date) then

begin

cadbk.table1.edit;

cadbk.table1.fieldbyname('Status').AsString:= 'S';

cadbk.table1.post; end;

cadbk.table1.next; end;

 

 

se tive algum amigo disposto a me ajuda poderia ate passar meu programinha para dar uma olhada melhor

 

abraco e aguardo respostas

Share this post


Link to post
Share on other sites

Galera num funciona de geito nenhum

 

 

cadbk.table1.open;

cadbk.table1.first;

while not(cadbk.table1.eof) do

begin

if cadbk.table1.fieldbyname('Data').AsString = DateToStr(date) then

begin

cadbk.table1.edit;

cadbk.table1.fieldbyname('Status').AsString := 'S';

cadbk.table1.post;

end;

cadbk.table1.next;

end;

 

se tive algum amigo disposto a me ajuda poderia ate passar meu programinha para dar uma olhada melhor

 

abraco e aguardo respostas

 

Qual é o erro?

Share this post


Link to post
Share on other sites

parece que na hora que o comando acabada e chega no next ele num volta la para cima e testa o proximo registro

 

 

vlw

 

 

Quantos registros tem na tabela? você debugou?

Share this post


Link to post
Share on other sites

 

parece que na hora que o comando acabada e chega no next ele num volta la para cima e testa o proximo registro

 

 

vlw

 

 

Quantos registros tem na tabela? você debugou?

 

 

tenho uns 6 registros e 2 seria os que teria que ser alterados.

Share this post


Link to post
Share on other sites

DIOGO, fiz vários testes iguais ao seu, no mesmo evento, com campos parecidos e todos funcionarão, com nenhum tive problema.

 

Algum detalhe ficou para trás aí hein ....

Share this post


Link to post
Share on other sites

DIOGO, fiz vários testes iguais ao seu, no mesmo evento, com campos parecidos e todos funcionarão, com nenhum tive problema.

 

Algum detalhe ficou para trás aí hein ....

 

 

cara ja tentei de tudo, seria pedir muito se eu te mandasse o meu sistema para você dar uma olhada?

Share this post


Link to post
Share on other sites

Se você conseguir pode mandar, ajudar alguém nunca é demais.

 

Qualquer coisa meu e-mail é: wllfl@ig.com.br.

Share this post


Link to post
Share on other sites

Se você conseguir pode mandar, ajudar alguém nunca é demais.

 

Qualquer coisa meu e-mail é: wllfl@ig.com.br.

 

Cara acabei de te manda, obrigado pela ajuda

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.