Ver Mensaje Individual
  #7  
Antiguo 21-04-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Todo se soluciona con transacciones y calculando ese valor en el momento preciso.

Yo calculo el valor justo antes de grabar.
En una tabla normal sería OnBeforePost.

Para esto abro una transacción aparte y calculo el contador. (utilizo un procedimiento almacenado que además verifica si se ha borrado un número y lo reutiliza)

Código:
TablaOnBeforePost
begin
   Abro TransacciónContador
   Calculo Contador
   TablaCONTADO.AsInteger := Contador;
end;

TablaOnAfterPost
begin
   Cierro TransacciónContador
end;

TablaOnPostError
begin
   Rollback de TransacciónContador;
end;

Última edición por duilioisola fecha: 21-04-2008 a las 15:31:23.
Responder Con Cita