No ejecutar comando openform si existen campos incompletos.

Estoy trabajando en un formulario donde existe un cuadro de texto llamado "comentarios" que debe ser obligatorio. También tengo un botón llamado "enviar" que al darle click abre otro formulario para enviar correos electrónicos. Lo que necesito es que si el cuadro de texto "comentarios " está incompleto el botón "enviar" no permita abrir el formulario para enviar los correos y que si el mismo cuadro de texto está completo el botón "enviar" se ejecute de manera normal para abrir el formulario de correos electrónicos.

4 respuestas

Respuesta
4

Partiendo de la premisa que la respuesta de Miguel es la más correcta, me permito ampliarla.

If isnull([comentario]) then

comentario.setfocus

else

docmd.openform"enviar",,,,,acdialog

end if

Y te hago una consulta. Como quedaría si agrego un Msgbox vbOkCancel, en donde me el mensaje seria "ud no ha agregado ningún comentario. Desea enviar notificacion de tofss formas ?". Y en el caso que confirme con ok, se agrega automáticamente en el cuadro de texto "comentarios" la frase "sin comentarios"   y me abra el formulario llamado "notificaciones". Pero en el caso que cancele me devuelva al cuadro de texto para editarlo y finalizado esto, volver a presionar el botón "enviar" y se abra el formulario "notificaciones" 

If isnull([comentario]) then

dim respuesta as integer

Respuesta=msgbox("¡ No te das cuenta de que no has agregado ningún comentario !. ¿Desea enviar la notificación de todas formas ?", vbyesno,"Señor dame paciencia")

If respuesta=vbyes then

comentario=""Sin comentarios, como cuando entrevistas a un famoso"

docmd.openform"notificaciones"

elseif respuesta=vbno then

comentario.setfocus

end if

end if

No hagas caso de mis comentarios, son broma.

Jajaja me hicieron reír! Muchas gracias como siempre por tu ayuda! Saludos desde Argentina! 

El código hasta ahora funciona perfecto, pero ante pulso "no" y me vuelve al cuadro de texto "comentarios" y agrego uno, no me actualiza la información y ni tampoco se abre el formulario "Enviar".

:(

Lo de no abrir el formulario es lógico porque no puse lo que debía hacer en caso de que no fuera nulo. Pero lo de actualizar no lo entiendo. Si tengo un formulario

Como puedes ver el nombre de contacto está vacío y pulso el botón

Si le digo Si, me rellena el campo NombreContacto y para que veas que si lo guarda, le he puesto un cuadro de texto al formulario que abre

En caso de que le hubiera dicho que no

El cursor se vuelve al campo Nombre del contacto, pongo la primera tontería que se me ocurre y pulso el botón

El código del botón es:

Imagínate como sería esto cuando en Todoexpertos no se podían poner imágenes.

Respuesta
1

Añado que necesito un código para poder condicionar la aparición del formulario "enviar". Intente hacerlo configurando el campo "comentarios" como requerido pero me ha generado otros inconvenientes que no vienen al caso.

Respuesta
1

Si estas creando el formulario a partir de una tabla, en las propiedades de la tabla, en ese campo especifico, comentarios, ponle que si es requerido.

¡Gracias! Omar pero necesito un código para colocar en el evento "al hacer click", ya que si realizo el procedimiento que me sugerís se me generan otros inconvenientes que no vienen al caso.

Respuesta
1

En el código del botón que ejecuta el openform debes escribir esto.

If Isnull(nombre_del_campo) then

Msgbox "Falta el campo"

Exit sub

End if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas