Ver Mensaje Individual
  #30  
Antiguo 24-08-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 27
Caral Va por buen camino
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 //Controlar el Codigo del producto
                               //Verifica si es correcto o no entrara a las otras condiciones.
        Begin
          ShowMessage('El Codigo del Producto es Invalido o NO esta Registrado');
        End
      Else
        Begin
          if StrToInt(Edit2.Text)>=1 then
               begin
            // Numero ID
                      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;
              
              // obtengo el articulo y el precio
              ZQueryBD.SQL.Text:= 'Select Articulo, Precio * '+Edit2.Text+' from Inventario Where Codigo = '+Edit1.Text;
              ZQueryBD.Open;
              // guardo los datos en las variables
              arti:= ZQueryBD.Fields[0].Asstring;
              Prec:= FloatToStr(ZQueryBD.Fields[1].AsFloat);
             
             // inserto en la tabla temporal
              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;
 
              // selecciono los datos de la tabla
              ZQueryBD.Close;
              ZQueryBD.SQL.Text:= 'Select * From facturaTemp';
              ZQueryBD.Open;
             
              // sumo el precio
              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
__________________
Siempre Novato
Responder Con Cita