Porfin! Quedo resuelto,
Gracias a todos por su contribucion, en especial a Caral
les muestro como quedo el codigo.
No estoy usando los parametros,
porque me estan dando errores que desconozco
Gracias
Código Delphi
[-]
procedure TForm1.BAgregarClick(Sender: TObject);
begin
if ECodigo.Text<>'' then begin
ZQueryBD.Close;
ZQueryBD.SQL.Text:= 'Select Codigo From Inventario Where Codigo = '+ECodigo.Text;
ZQueryBD.Open;
if ZQueryBD.IsEmpty then Begin
ShowMessage('El Codigo del Producto es Invalido o NO esta Registrado');
End Else begin
if StrToInt(ECantidad.Text)>=1 then
begin
ZQueryBD.Close;
ZQueryBD.SQL.Text:= 'Insert Into FacturaTemp (Articulo, Cantidad, Precio) Select Articulo, '+
ECantidad.Text+', Precio * '+ECantidad.Text+' From Inventario Where Codigo = '+ECodigo.Text;
ZQueryBD.Open;
ZQueryBD.Close;
ZQueryBD.SQL.Text:= 'Select * From FacturaTemp';
ZQueryBD.Open;
ZQuery1.Close;
ZQuery1.SQL.Text:= 'Select Sum(Precio) as Suma From FacturaTemp';
ZQuery1.Open;
ETotal.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;
procedure TForm1.BDespacharClick(Sender: TObject);
Var
Codigo :Integer;
Total :String;
begin
Total:='';
ZQuery1.Close;
ZQuery1.SQL.Text:= 'Select Sum(Precio) as Precio From FacturaTemp';
ZQuery1.Open;
Total:= ZQuery1.FieldByName('Precio').AsString+' BsF';
ZQuery1.Close;
ZQuery1.SQL.Text := 'Select Max(CodigoFactura) as CodigoFactura from FacturaDetalle';
ZQuery1.Open;
Codigo:= ZQuery1.FieldByName('CodigoFactura').AsInteger;
Codigo:= Codigo+1;
ZQueryBD.Close;
ZQueryBD.SQL.Text:= 'Insert Into FacturaDetalle Select '+IntToStr(Codigo)+', Articulo, Cantidad, Precio From FacturaTemp';
ZQueryBD.ExecSQL;
ZQueryBD.SQL.Text:= 'Delete From facturaTemp';
ZQueryBD.ExecSQL;
ETotal.Text:='0.00 BsF';
ECodigo.Text:='';
ECantidad.Text:='1';
end;