Hola a todos
Quisiera poder validar dos campos de mi debgrid uno es el
precio de tipo float y el otro es la
fecha de tipo date, he leido hilos referente a esto y he hecho muchas pruebas pero aun no me funciona, estoy desesperada les agradeceria un monton a todos los que pudieran ayudarme.
Hice las siguientes pruebas
Código Delphi
[-]
type
EFecha = class(Exception)
....
procedure TCompras.qryfechaValidate(Sender: TField);
var
fch: TDateTime;
begin
if not TryStrToDate(Sender.AsString,fch) then
begin
raise EFecha.Create('Fecha Incorrecta');
end
end;
tambien he probado estos otros dentro del evento onValidate del campo fecha
Código Delphi
[-]
try
StrToDate(Sender.AsString);
except
on exception do ShowMessage('Fecha Incorrecta');
end;
Código Delphi
[-]
try
StrToDate(Sender.AsString);
except
on EConvertError do ShowMessage('Fecha Incorrecta');
else
ShowMessage('Fecha Incorrecta');
end;
en todos estos casos si borro todo lo que hay en la celda del dbgrid donde esta la fecha y salgo a otra celda se lanza mi excepción y me saca el mensaje de 'fecha incorrecta' pero si escribo digamos
54 que no llegaria a ser una fecha me saca este mensaje
'54' is not a valid date and time
y yo quiero que me saque el mensaje que he puesto pero nose porque no lo saca he probado de las formas que puse arriba y nada de nada que funciona en este caso, que estoy haciendo mal me pueden orientar por favor.
Y en el caso del precio con lo siguiente
Código Delphi
[-]
try
StrToCurr(Sender.AsString);
except
on exception do ShowMessage('Precio Incorrecto');
end;
si escribimos
45,,57 el error serian las dos comas y tampoco veo el mensaje que yo pongo sino lo siguiente.
45,,57 is not a valid floating point value for field 'precio'
como le hago para que salgan mis mensajes en estos casos.
Delphi7, Access
Saludos y que tengan un bonito dia