Loop while not eof não está funcionando.
Boa tarde, tenho uma tabela que armazena vendas de mercadorias, criei um campo nessa tabela chamado itemCod (numérico) para armazenar os
itens referentes a cada venda ex: produto A item 1, produto B item 2 assim por diante, queria criar um botão no formulário que ao clicar
preenchesse automaticamente esse campo das vendas anteriores. Estou tentando criar um laço (loop) com o while not eof, mas não estou conseguindo. Obrigado.
Numero de item para cada produto no formulário de vendas
itens referentes a cada venda ex: produto A item 1, produto B item 2 assim por diante, queria criar um botão no formulário que ao clicar
preenchesse automaticamente esse campo das vendas anteriores. Estou tentando criar um laço (loop) com o while not eof, mas não estou conseguindo. Obrigado.
Numero de item para cada produto no formulário de vendas
Adão Silva
Curtidas 0
Respostas
Paulo
05/06/2023
Boa tarde, tenho uma tabela que armazena vendas de mercadorias, criei um campo nessa tabela chamado itemCod (numérico) para armazenar os
itens referentes a cada venda ex: produto A item 1, produto B item 2 assim por diante, queria criar um botão no formulário que ao clicar
preenchesse automaticamente esse campo das vendas anteriores. Estou tentando criar um laço (loop) com o while not eof, mas não estou conseguindo. Obrigado.
Numero de item para cada produto no formulário de vendas
itens referentes a cada venda ex: produto A item 1, produto B item 2 assim por diante, queria criar um botão no formulário que ao clicar
preenchesse automaticamente esse campo das vendas anteriores. Estou tentando criar um laço (loop) com o while not eof, mas não estou conseguindo. Obrigado.
Numero de item para cada produto no formulário de vendas
Posta o código
GOSTEI 0
Adão Silva
05/06/2023
Obrigado,segue,,,,, código...
var
x, lista: integer;
begin
lista:=form1.ADOTable2.FieldByName('codigoVendas').Value;
x:=0;
form1.ADOTable2.Edit;
while Not form1.ADOTable2.Eof do
begin
x:=x+1;
if lista <> 0 then
form1.ADOTable2codItem.value:= x;
form1.ADOTable2.Next;
form1.ADOTable2.Edit;
var
x, lista: integer;
begin
lista:=form1.ADOTable2.FieldByName('codigoVendas').Value;
x:=0;
form1.ADOTable2.Edit;
while Not form1.ADOTable2.Eof do
begin
x:=x+1;
if lista <> 0 then
form1.ADOTable2codItem.value:= x;
form1.ADOTable2.Next;
form1.ADOTable2.Edit;
GOSTEI 0
Arthur Heinrich
05/06/2023
Talvez a chamada do método Edit, de dentro do loop esteja prejudicando a execução.
Você pode tentar uma pequena mudança:
Porém, a lógica da numeração talvez precise ser revista.
Você pode tentar uma pequena mudança:
var x, lista: integer; begin x:=0; while Not form1.ADOTable2.Eof do begin lista:=form1.ADOTable2.FieldByName('codigoVendas').Value; if lista <> 0 then begin x:=x+1; form1.ADOTable2.Edit; form1.ADOTable2codItem.value:= x; end; form1.ADOTable2.Next; end; end;
Porém, a lógica da numeração talvez precise ser revista.
GOSTEI 0
Adão Silva
05/06/2023
Boa tarde, era exatamente isso, agora deu certo muito obrigado......
GOSTEI 0