tratandose de Paradox, en el evento BeforePost, podrías hacer algo así:
Código Delphi
[-]
procedure TForm1.Tabla1BeforePost(...);
var i:integer;
Msg:String;
begin
Msg := EmptyStr;
for i:=0 to tabla1.FieldCount-1 do
with Tabla1.Fields[i] do
begin
if IsNull then
Msg:= Msg + #10#13+ '- ' + DisplayName;
end;
if Msg <> EmptyStr then
raise Exception.Create('Los siguientes campos'+
'deben ser introducidos'+ #10#13 + Msg;
end;
Para el usuario final, es bastante tedioso ver campo por campo un mensaje; con esto lo haces de un solo mensaje.
En cuanto a tu mensaje anterior, faltaría esto:
Código Delphi
[-]
if Table1.FieldByName('Cod_dep').IsNull then
begin
ShowMessage ('Debe rellenar la casilla del código del departamento');
Abort;
Abort produce una excepción silenciosa, por tanto, no se graba el registro actual y deja el registro en modo de inserción. En el método que yo propongo, simplemente creo y lanzo una excepción, que actua igual que Abort, salvo que muestra un mensaje al usuario
saludos