Ver Mensaje Individual
  #2  
Antiguo 05-03-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Has probado con la instrucción Cancel?

Código Delphi [-]
procedure TForm1.Table1BeforePost(DataSet: TDataSet);     
begin       
   if Buscar(DataSet.FieldByName('Nombre').AsString) then begin
      //Showmessage es usado solo para la depuracion
      Showmessage('El codigo esta duplicado'); 
      DataSet.Cancel;
   end;
end;

Esto te evitaría tener que borrar registros en al AfterPost y te evitaría tener que entrar campos vacíos en la clave.
Además, si hay dos puestos insertanto campos duplicados, se insertarán dos campos vacíos y también fallará.
Responder Con Cita