problema ao fazer um While

15/02/2003

0

Olá, estou com um probleminha q é o seguinte, tenho um botão no meu pedido q qdo clicado, ele coloca todos os itens q estão em um DBGrid do pedido com um S ´sim´, q quer dizer q estão pagos, qdo é mais de um item ele fica meio perdido, não sei se é porque estou dando um post na tabela, já tentei criar outra para fazer o while e deixar a que eu quero alterar só p/alteração e não quer dar certo, está assim:
////
TbItens.First;
While Not TbItens.eof do
begin
if TbItensPago.Value = ´N´ then
begin
TbItens.Edit;
TbItensPago.Value:=´S´;
If TbItensInicio.Value = True then
TbItensDataHoraFim.Value:=WHora;
TbItens.Post;
end;
end;
TbItens.Next;
end;
Se alguém puder me ajudar eu agradeço, pois já tentei muito.


Janete

Janete

Responder

Posts

15/02/2003

Poeta Noturno

Bom, eu realmente naum entendi muito bem o que vc queria, se puder ser mais clara...

Ou se preferir, me mande um e-mail, ok?

Um abraço

Poeta Noturno


Responder

15/02/2003

Anonymous

Pelo que vi seu código está correto, tente usar este código, é a mesma coisa, mas as vezes o delphi nos impressiona...

with TbItens do
begin
First;
While Not eof do
begin
if FieldByName(´Pago´).Value = ´N´ then
begin
Edit;
FieldByName(´Pago´).Value:=´S´;
If FieldByName(´Inicio´).Value = True then
TbItensDataHoraFim.Value:=WHora;

TbItens.Post;
end;
Next;
end;
end;

se tentar e der certo ou não me mande um e-mail vamos ver o que pode ser ok??? xixico@pop.com.br


Responder

15/02/2003

Anonymous

TbItens.First;
while not TbItens.EOF do
begin
if TbItensPago.Value = ´N´ then
begin
TbItens.Edit;
if TbItensInicio.Value = True then
TbItensDataHoraFim.Value := WHora;
TbItens.Post;
TbItensPago.Edit;
TbItensPago.Value := ´S´;
TbItensPago.Post;
end;
TbItens.Next;
end;


Responder

16/02/2003

Magoo

TbItens.First;
While Not TbItens.eof do
begin
if TbItensPago.Value = ´N´ then
begin
TbItens.Edit;
TbItensPago.Value:=´S´;
If TbItensInicio.Value = True then
TbItensDataHoraFim.Value:=WHora;
TbItens.Post;
end;//if TbItensPago . . .
end;//while not TbItens.eof . . .
[b:489d6e848a]TbItens.Next;[/b:489d6e848a]
end;

O problema do código é que você está usando o método [b:489d6e848a]Next[/b:489d6e848a] fora do laço While . . . por isso só dá certo quando vc tem apenas um registro no seu DbGrid . . .


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar