Ver Mensaje Individual
  #5  
Antiguo 26-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita