Como validar un cuadro combinado

Recibe mis cordiales saludos.
Tengo una Base de Datos en donde en un formulario se genera una nota de entrega de pedidos para una serie de empresas. En el formulario tengo un cuadro combinado llamado Empresa basado en una tabla/consulta donde están registradas todas la empresas. La pregunta es la siguiente: ¿Cómo hago para validar el cuadro combinado para evitar que el campo Empresa quede vacío y además me de un mensaje de alerta al salir de el indicándome que debe ser llenado para poder avanzar?.
Tengo este código que no me funciona:
if isnull (empresa.value) then
Msgbox "Este campo debe ser llenado"
cancel = true
end if
Yo uso mucho este código para validar campos y cuidar que nunca queden vacíos pero con los cuadro combinado no funciona. ¿Por qué?. Es por esto que requiero su valiosa ayuda, ya que además quiero poner un código que no me permita imprimir la nota de entrega si el campo Empresa esta vacío y si no puedo validarlo no puedo evitar las dos cosas: que sea creado y que se imprima.

1 respuesta

Respuesta
1
Seria interesante saber si el valor dependiente del cuadro combinado es un numero o un texto, pero bueno, probemos.
Lo que a primera vista puede parecer un nulo, podría ser un "vacio" o incluso un espacio.
Yo utilizo muy pocas veces el IsNull, prefiero una combinación de funciones: Trim y Nz.
La primera quita cualquier espacio por delante o por detrás. Y la segunda convierte el posible nulo a lo que tu desees:
If Trim(Nz(Me!UnCampo, "")) = "" Then .... seguro, pero segurisimo que el campo está vacio.
Otra forma de validar que el campo está relleno es en evento AfterUpdate (si mal no recuerdo se lanza antes de insertar o actualizar así que te sirve en cualquier caso). Ese evento también contiene el argumento Cancel, con lo que puedes utilizar el mismo tipo de validación.
Espero te sirva.
Gracias Xavi por lo pronto de la respuesta y el interés mostrado en la solución de mi problema. Sin embargo, ya había descubierto la razón del inconveniente y es que el campo empresa es numérico y le tenía el valor predeterminado a cero y lógicamente nunca lo evaluaba como vacío.
Saludos y Feliz navidad

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas