Hola
Boton 1:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
numero, arti: String;
Prec : Real;
begin
if Edit1.Text<>'' then
begin
ZQueryBD.Close;
ZQueryBD.SQL.Text:= 'Select Codigo From Inventario Where Codigo = '+Edit1.Text;
ZQueryBD.Open;
if ZQueryBD.IsEmpty then Begin
ShowMessage('El Codigo del Producto es Invalido o NO esta Registrado');
End
Else
Begin
if StrToInt(Edit2.Text)>=1 then
begin
ZQueryBD.Close;
ZQueryBD.SQL.Text := 'Select Max(ID) from facturaTemp';
ZQueryBD.Active := true;
try
numero := IntToStr(ZQueryBD.Fields[0].AsInteger+1);
except
numero := '1';
end;
ZQueryBD.Active :=False;
end;
ZQueryBD.SQL.Text:= 'Select Articulo, Precio * '+Edit2.Text+' from Inventario Where Codigo = '+Edit1.Text;
ZQueryBD.Open;
arti:= ZQueryBD.Fields[0].Asstring;
Prec:= FloatToStr(ZQueryBD.Fields[1].AsFloat);
DataSourceBD.Enabled:= True;
ZQueryBD.Close;
ZQueryBD.SQL.Text:= 'Insert Into facturaTemp (ID, Articulo, Cantidad, Precio) values ( :num, :art, :cant, :xpre )';
ZQueryBD.Params[0].Value := numero;
ZQueryBD.Params[1].Value := arti;
ZQueryBD.Params[2].Value := Edit2.Text;
ZQueryBD.Params[3].Value := Prec;
ZQueryBD.ExecSQL;
ZQueryBD.Close;
ZQueryBD.SQL.Text:= 'Select * From facturaTemp';
ZQueryBD.Open;
ZQuery1.Close;
ZQuery1.SQL.Text:= 'Select Sum(Precio) as Suma From facturaTemp';
ShowMessage('agregado');
ZQuery1.Open;
ShowMessage('sumados '+ZQuery1.Fields[0].Asstring +' BsF';
Edit3.Text:= ZQuery1.FieldByName('Suma').AsString +' BsF';
end
Else
begin
ShowMessage('La Cantidad debe ser Mayor o Igual que 1');
end;
End;
end
Else
begin
ShowMessage('Ingrese un Codigo');
end;
end;
Vamos por aqui, si tienes dudas avisa
Saludos