Ver Mensaje Individual
  #1  
Antiguo 13-02-2012
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Reputación: 17
jafera Va por buen camino
Como hacer que el cursor vaya a un campo de un grid

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
Responder Con Cita