Access - No perder el focus

 
Vista:

No perder el focus

Publicado por susana (54 intervenciones) el 17/12/2007 17:47:46
Tengo un cuadro combinado. Quiero que sea un campo obligatorio de rellenar. Si no se rellena, quiero que salga un mensaje de error y vuelva a tener el foco, y no deje saltar de campo hasta que no se haya introducido un valor.

En el evento: al perder el foco, he puesto la condición de que si no se ha metido ningún dato haga dos cosas: una : muestre un mensaje de error, y otra se quede el focus en el mismo campo.
Hasta el mensaje sale todo perfecto, pero no hay forma de que me devuelva el foco.
Lo he escrito asi:

Me!cuadro_combinado14.Setfocus

y nada, me da un mensaje de error de que no encuetra cuadro_combinado14
curiosamente si en vez de cuadro combinado 14, le digo que coja el foco otro campo, eso sí lo hace bien, pero quedarse en el mismo campo no lo consigo

alguna idea?

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:No perder el focus

Publicado por kaditano (7 intervenciones) el 17/12/2007 18:06:09
Mis pequeños conocimientos me dicen que un cuadro combinado se utiliza para seleccinar un elemento de la lista y en caso de teclear uno que no exista (siempre que no tenga la condición de "limitar a lista) darlo de alta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No perder el focus

Publicado por Roberto Kova (13 intervenciones) el 17/12/2007 19:28:57
Como dice Kaditano, Propiedad.Limitar a lista=Si, si se entra un dato no listado muestra el mensaje "Seleccione un elemento de la lista ...." y mantiene el foco, se da de alta o se modifica.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No perder el focus

Publicado por susana (54 intervenciones) el 17/12/2007 19:36:48
limitar a la lista significa que no puedes seleccionar un valor diferente de la lista, pero eso no incluye dejarlo vacío. Si lo dejas vacío no te da error, y no te mantiene el foco.

Osea que eso no funciona, pero gracias de todas formas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No perder el focus

Publicado por JOSELO (232 intervenciones) el 17/12/2007 19:57:03
Hasta ahora las sugerencias fueron excelentes, para lo que necesitas tienes que:

Al cargar el formulario (evento load) tienes que asignarle algun valor al cuadro combinado.
Despues de actualizar (evento afterupdate) tienes que decir que si el valor es nulo lleve el foco. Ej.
if isnull(Me.CuadroCombinado) = true then
me.CuadroCombinado.SetFocus
Exit Sub
else
'.....
'Tu codigo anterior si lo hubiese

'.....
End IF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No perder el focus

Publicado por kaditano (7 intervenciones) el 17/12/2007 20:07:17
Susana, en las propiedades del cuadro combinado pon lo siguiente:
Regla de validacion ... Negado es Nulo
Texto de validacion ... Seleccione un elemento de la lista
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No perder el focus

Publicado por susana (54 intervenciones) el 17/12/2007 22:25:50
gracias a todos

ya funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar