Ver Mensaje Individual
  #14  
Antiguo 30-10-2008
Avatar de Ana María
Ana María Ana María is offline
Miembro
 
Registrado: ago 2008
Posts: 40
Reputación: 0
Ana María Va por buen camino
Tienes razón

Tienes razón Enecuneme.

Ante tanta cosa yo haría esto:

No asignar el valor de la clave en cuestión por medio de un generador si no por medio de una una función desde la aplicación, esta función usaría un query (dependiendo de con que te conectas) aquí un ejemplo con TADOQuery:

Código Delphi [-]
function  ID(Tabla: string; Campo: string): Integer;
begin
with Query  do
  try
    Close;
    SQL.Clear ;
    SQL.Add('Select max('+ Campo +')as Nuevo from '+ Tabla);
    Open ;
    if IsEmpty  then
      Result := 1
     else
      Result := FieldByName('Nuevo').AsInteger + 1;
   finally
    Close ;
    end;
end;

// Llamamos la función en BeforePost

procedure TablaBeforePost(DataSet: TDataSet);
begin
Tabla.FielByname('Clave').Value := ID('Tabla','Clave');
end;
Responder Con Cita