Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Registro no se Actualiza... que puede ser.... (https://www.clubdelphi.com/foros/showthread.php?t=23051)

BlueSteel 05-07-2005 17:39:04

Registro no se Actualiza... que puede ser....
 
Hola a todos..

Tengo un problemita.. que no se como solucionar... a ver si me pueden ayudar un poquito... :p

Es un sistema de Ordenes de Compra... en donde un modulo es para modificar Ordenes que estan en Garantía....

La idea es poder agregar o quitar items de la orden (Tabla : DOrden), y actualizar los respectivos valores netos y de Iva (Tabla:Orden), para lo cual realizo el siguiente procedimiento:

Agrega Item (Tabla DOrden)
Código:

vTot.Text := FloatToStr(RoundN(StrToFloat(vCtd.Text)*StrToFloat(vUni.Text)));
IBQ_Edit.SQL.Clear;
IBQ_Edit.SQL.Add('Insert Into "DOrden" ("Ord_Numero","Dor_Descripcion","Dor_Cantidad","Dor_Valor_Unitario")');
IBQ_Edit.SQL.Add('Values (:P1,:P2, :P3, :P4)');
IBQ_Edit.Params[0].AsString := nOrd.Text;
IBQ_Edit.Params[1].AsString := vDes.Text;
IBQ_Edit.Params[2].AsInteger := StrToInt(vCtd.Text);
IBQ_Edit.Params[3].AsFloat := StrToFloat(vUni.Text);
IBQ_Edit.ExecSQL;
vTot_Bru.Text := IntToStr(StrToInt(vTot.Text)+StrToInt(vTot_Net.Text));
 
Actualiza_Orden;


Elimina (Tabla DOrden)
Código:

IBQ_Edit.SQL.Clear;
IBQ_Edit.SQL.Add('Delete From "DOrden"');
IBQ_Edit.SQL.Add('Where "Dor_Numero"=:Var1');
IBQ_Edit.Params[0].AsString := IBQ_Items['Dor_Numero'];
IBQ_Edit.ExecSQL;
vTot_Bru.Text := FloatToStr(StrToFloat(vTot_Bru.Text)-Total_Item);


Procedimiento para actualizar calculos y Tabla :Orden
Código:

procedure TModifica_OC.Actualiza_Orden;
begin
        vTot_Net.Text := FloatToStr(StrToFloat(vTot_Bru.Text)-StrToFloat(vTot_Des.Text));
        If CB_Factura.Checked = True Then
                vTot_Iva.Text := '0'
        Else
                vTot_Iva.Text := FloatToStr(RoundN(StrToFloat(vTot_Net.Text)*vIva));
        vTot_Fin.Text := FloatToStr(RoundN(StrToFloat(vTot_Iva.Text)+StrToFloat(vTot_Net.Text)));
        IBQ_Edit.SQL.Clear;
        IBQ_Edit.SQL.Add('Update "Orden" Set "Ord_Neto"=:Var1, "Ord_Descuento"=:Var2, "Ord_Iva"=:Var3');
        IBQ_Edit.SQL.Add('Where "Ord_Numero"=:Var4');
        IBQ_Edit.Params[0].AsFloat := StrToFloat(vTot_Bru.Text);
        IBQ_Edit.Params[1].AsFloat := StrToFloat(vTot_Des.Text);
        IBQ_Edit.Params[2].AsFloat := StrToFloat(vTot_Iva.Text);
        IBQ_Edit.Params[3].AsString := Ordenes.Num_Orden;
        IBQ_Edit.ExecSQL;
 
        IBT_Edit.Commit;        // Actualiza cambios en Tabla :Dorden
        IBT_Items.Commit; // Actualiza cambios en Tabla :Orden
end;

Bueno... cada vez que elimino o agrego un item a la Orden de Compra, estos datos se actualizan en la Tabla Dorden, pero se supone que tambien los actualizo en la Tabla Orden, pero cuando salgo del modulo y reviso la orden que habia modificado, solo estan las actualizaciones de los items (Tabla Dorden), pero los valores totales no se han modificados (Tabla Orden), que podrá ser.... :confused: :confused:


La franja horaria es GMT +2. Ahora son las 13:18:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi