Ir para conteúdo

POWERED BY:

Arquivado

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

Wellingtonpg

Código!

Recommended Posts

Galera fiz um código para o cancelamento de venda, porém ele não funciona :natalsad: ! Não dá um erro específico, então resolvi colocar aqui para que alguém possa me ajudar dando uma olhada e apontar o possível erro!!!

 

Valeu!!!

 

Código:

 

procedure TfrmVenda.BitBtn1Click(Sender: TObject);var prod : array[1..100] of Integer;	int : integer;	qtd_reg : integer;	reg : integer;begin  dmData.qryVenda.Close;  dmData.qryVenda.SQL.Text := 'SELECT * FROM TBL_VENDAS WHERE id_venda = (SELECT MAX(id_venda) FROM TBL_VENDAS)';  dmData.qryVenda.Open;  Label4.Caption := dmData.qryVenda.FieldByName('id_venda').AsString;  dmData.qryDetVenda.Close;  dmData.qryDetVenda.SQL.Text := 'Select * From TBL_DET_VENDA Where id_venda = :id_venda';  dmData.qryDetVenda.Parameters[0].Value := Label4.Caption;  dmData.qryDetVenda.Open;  int := 0;  qtd_reg := 0;  While not dmData.qryDetVenda.Eof do  begin  prod[int] := dmData.qryDetVenda.FieldByName('id_produto').AsInteger;  int := int + 1;  qtd_reg := qtd_reg + 1;  dmData.qryDetVenda.Next;  end;  int := 0;  reg := 0;  While not reg = qtd_reg do  begin  dmData.qryEstoque.Close;  dmData.qryEstoque.SQL.Text := 'Select * From TBL_ESTOQUE Where id_produto = :prod';  dmData.qryEstoque.Parameters[0].Value := prod[int];  dmData.qryEstoque.Open;  dmData.qryEstoque.Edit;  dmData.qryEstoque.FieldByName('qtd_atual').AsInteger := dmData.qryEstoque.FieldByName('qtd_atual').AsInteger + 1;  dmData.qryEstoque.Post;  int := int +  1;  reg := reg + 1;  end;  dmData.qryDetVenda.Delete;  dmData.qryVenda.Delete;  MessageDlg('Venda cancelada!',mtInformation,[mbOk],0);  {frmVenda.Close;  Label2.Caption := cabeca;  lblProduto.Caption := '';  lblPrUnit.Caption := '';  lblPrecoP.Caption := '';}end;

 

Wellington

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer da seguinte forma:

 

procedure TfrmVenda.BitBtn1Click(Sender: TObject);begindmData.qryVenda.Close;dmData.qryVenda.SQL.Clear;dmData.qryVenda.SQL.Add('SELECT * FROM');dmData.qryVenda.SQL.Add('TBL_VENDAS');dmData.qryVenda.SQL.Add('WHERE id_venda = (SELECT MAX(id_venda) FROM TBL_VENDAS)');dmData.qryVenda.Open;dmData.qryDetVenda.Close;dmData.qryDetVenda.SQL.Clear;dmData.qryDetVenda.SQL.Add('Select *');dmData.qryDetVenda.SQL.Add('From TBL_DET_VENDA');dmData.qryDetVenda.SQL.Add('Where id_venda = ' + IntToStr(dmData.qryVenda.FieldByName('id_venda').Value));dmData.qryDetVenda.Open;while not dmData.qryDetVenda.Eof do	begin	dmData.qryEstoque.Close;	dmData.qryEstoque.SQL.Clear;	dmData.qryEstoque.SQL.Add('update tbl_estoque');	dmData.qryEstoque.SQL.Add('  set qtd_atual = (qtd_atual + 1)');	dmData.qryEstoque.SQL.Add('where id_produto = ' + IntToStr(dmData.qryDetVenda.FieldByName('id_produto').Value));	dmData.qryEstoque.ExecSQL;	dmData.qryDetVenda.Next;	end;dmData.qryDetVenda.Delete;dmData.qryVenda.Delete;MessageDlg('Venda cancelada!',mtInformation,[mbOk],0);end;

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.