Hola compañeros.
Necesito hacer un proceso que me parece es mas complicado de lo que inicialmente creia.
Tengo un DBGrid que me muestra los campos de un dataset. Este dataset tiene dos valores DIVENDRES y DIUMENGE que solo adminten un caracter, quiero que sea S o N, así en mayusculas, en el dataset hago lo siguiente yme lo cambia:
Código Delphi
[-]
procedure TF_ModulDades.ParticipacioDIVENDRESChange(Sender: TField);
begin
if ParticipacioDIVENDRES.Value = 's' then
begin
ParticipacioDIVENDRES.Value:='S';
end;
if ParticipacioDIVENDRES.Value = 'n' then
begin
ParticipacioDIVENDRES.Value:='N';
end;
if (ParticipacioDIVENDRES.Value <> 'N') and (ParticipacioDIVENDRES.Value <> 'S') and
(ParticipacioDIVENDRES.Value <> 'n') and (ParticipacioDIVENDRES.Value <> 's') then
begin
ShowMessage('Valor no vàlid, sols S o N');
end;
end;
Pero cuando le coloco un valor que no sea s, n, S, N, me lanza el mensaje de valor no válido, pero y aquí viene el kit de la cuestión, no consigo borrar este valor y que el foco vuelva al campo erroneo.
He probado con un bookmark y no me guarda la linea, he probado con focuscontrol y pasa de mí.
Alguien sabe como puedo solucionarlo?
Tambien me gustaría que si me dejo el campo vacio, me obligara a llenarlo con un valor S o N, moviendo el foco a este campo.
Buenas tardes/noches.
Josep