maeyanes
Trabajo con Interbase 6, y tanta las inserción como la verificación las realizo con consulta SQL...
Código para Insertar Cargo
Código:
// Proceso para Almacenar los Cargos del StringGrid_Paso a la Tabla Oficial...
For i:= 0 to Costos.Costos_Paso.RowCount-1 do
Begin
IBQ_Edit.SQL.Clear;
IBQ_Edit.SQL.Add('Insert Into "Costos" ("Ord_Numero","Are_Codigo","Cos_Monto","Cos_Observacion")');
IBQ_Edit.SQL.Add('Values (:P1,:P2, :P3, :P4)');
IBQ_Edit.Params[0].AsString := IntToStr(IBQ_Select['Par_Orden']);
IBQ_Edit.Params[1].AsString := Costos.Costos_Paso.Cells[0,i];
IBQ_Edit.Params[2].AsFloat := StrToFloat(Costos.Costos_Paso.Cells[2,i]);
IBQ_Edit.Params[3].AsString := Costos.Costos_Paso.Cells[3,i];
IBQ_Edit.ExecSQL;
End;
IBT_Edit.Commit; //Actualizo la transacción...
Código para consultar por cargos sin autorizar...
Código:
IBQ_Select.Close;
IBQ_Select.SQL.Clear;
IBQ_Select.SQL.Add('Select * from "Costos","Area","Privilegio"');
IBQ_Select.SQL.Add('Where "Costos"."Are_Codigo"="Area"."Are_Codigo"');
IBQ_Select.SQL.Add('And "Costos"."Cos_Vb"=0');
IBQ_Select.SQL.Add('And "Area"."Are_Codigo"="Privilegio"."Are_Codigo"');
IBQ_Select.SQL.Add('And "Privilegio"."Usu_Numero"=:Var1');
IBQ_Select.SQL.Add('Order By "Ord_Numero"');
IBQ_Select.Params[0].AsString := Sw4;
IBQ_Select.Open;
If IBQ_Select.RecordCount > 0 Then
Mensaje; // para este mensaje utilizo el msnpoppup
Bueno.. esta consulta depende del usuario que ingresa al Sistema...
(Sw4) y de los privilegios que tiene... si el total de registro es mayor a 0, despliego el mensaje...