Código!
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
Discussão (2)
Carregando comentários...