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...
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)