Tengo un formulario en access 2007 y contiene, ademas de varios cuadros que pertenecen a una tabla, 3 cuadros de texto independientes (que no pertenecen a ninguna tabla) pero necesito que no puedan quedar vacíos, es decir que sean requeridos y en caso de dejarse vacíos no permita salir del formulario, salvo que el formulario este completamente vacío. ¿Cómo puedo hacer que sean requeridos?
No se si me he explicado correctamente...
1 respuesta
Respuesta de diegofvillar
1
1
diegofvillar, Amplio conocimiento de programación (Técnico/Programador Access y...
Solamente se pueden utilizar eventos en los controles para verificar si se hallan cargados o no en el formulario. Supongamos que tengas 5 textbox en los cuales en 2 de ellos escribes y en los restantes escribes pero no dependen de un valor de la tabla. Lo que debemos hacer es verificar si uno de los tres textbox está vacío y los otros dos cargados para lanzar un mensaje. Si están cargados todos los textbox, cierra el form. Si utilizas módulo: Podrías utilizar dos eventos que controlen los textbox para controlar que estén o no vacíos, Form_Unload(Cancel as integer) y Form_Close(). Yo siempre utilizo Form_unload. El código sería: 'CONTROLA QUE NINGUNO DE LOS TRES CAMPOS NO ESTÉ VACÍO AL CARGAR LOS OTROS CAMPOS If (Form!MiFormulario!textbox1 = "" Or Form!MiFormulario!textbox2= "" Or Form!MiFormulario!textbox3 = "" And (Form!MiFormulario!textbox4 <> "" And Form!MiFormulario!textbox5 <> "" ))Then Msgbox "Existen campos vacíos",vbcritical, "Error" Exit sub (Saldrá del evento antes de finalizar por lo que no saldrá del formulario al cerrar el msgbox )
End If Si utilizas macros: Crear tus macros de control estableciendo las condiciones para tu Mensaje. Condicion = Form! MiFormulario!textbox1="" O Form! MiFormulario!textbox2= "" O Form! MiFormulario!textbox3 Y Form! MiFormulario!textbox4 <> "" Y Form! MiFormulario! Textbox5 <> "" Mensaje = "Existen campos vacíos" Cancelar evento (Cancelará tu evento de cerrar o salir del form)