Access - Comprobar campos vacios

 
Vista:

Comprobar campos vacios

Publicado por Paco (38 intervenciones) el 15/04/2009 13:59:09
Hola,

No entiendo que estoy haciendo mal, tengo cuadros de texto en los cuales quiero comprobar si el usuario introduce algo o no, el caso es que me arroja un error y no se que hago mal, las cajas se llaman: EMPRESA, APELLIDOS, NOMBRE, DIRECCION, en el evento "al entrar" de una de ellas es cuando compruebo dicha condición con el siguiente código:

Private Sub DIRECCION_Enter()
CUENTA1 = 1
If EMPRESA.Text = "" And NOMBRE.Text <> "" And APELLIDOS.Text <> "" Then
CUENTA1 = 0
End If

If CUENTA1 = 1 Then
MsgBox "EMPRESA Ó APELLIDOS+NOMBRE DEBE ESTAR CUMPLIMENTADO"
End If

End Sub

Sé que algo estoy haciendo mal pero no sé el qúe y creo que no tiene que ver con el código. (en vez de comillas he probad con NUL pero me sigue generando el error)

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
Imágen de perfil de Enrique Ramírez
Val: 37
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Comprobar campos vacios

Publicado por Enrique Ramírez (629 intervenciones) el 15/04/2009 17:23:30
Hubieras puesto el error que te da. de casualidad no será el 2185,
Usa el.value en lugar del .text o lo puedes omitir, por esto te da el error, pero además ....

si la variable CUENTA1 solo la usas para hacer esta validación puedes omitirla y depurar un poco tu codigo, si por el contrario si la usas para algo en tu proceso dejala.

Private Sub DIRECCION_Enter()
If EMPRESA.Value = "" And nombre.Value <> "" And APELLIDOS.Value <> "" Then
Else
MsgBox "EMPRESA Ó APELLIDOS+NOMBRE DEBE ESTAR CUMPLEMENTADO"
EXIT SUB
End If
End Sub

ahora te pregunto, que pasa si todos los campos si tienen información? .....
pues te va a mostar el mensaje de error....
porque la validación solo se cumple cuando empresa no tenga nada y los demas campos si.

yo te sugiero esta validación:

Private Sub DIRECCION_Enter()
If EMPRESA.Value = "" Or IsNull(EMPRESA.Value) Then
MsgBox "no tecleaste EMPRESA"
Me.txt_empresa.SetFocus
Exit Sub
End If
If NOMBRE.Value = "" Or IsNull(NOMBRE.Value) Then
MsgBox "no tecleaste NOMBRE"
Me.txt_Nombre.SetFocus
Exit Sub
End If
If APELLIDO.Value = "" Or IsNull(APELLIDO.Value) Then
MsgBox "no tecleaste APELLIDO"
Me.txt_apellido.SetFocus
Exit Sub
End If
End Sub

Y te pregunto...donde validas que si tecleaste DIRECCION?
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:Comprobar campos vacios

Publicado por Paco (38 intervenciones) el 16/04/2009 17:27:27
Hola Enrique, muchas gracias por la ayuda, pero verás

El caso no es tan sencillo, he depurado el codigo como me has dicho y ahora si me funciona, pero el caso es que de los tres campos que tengo (EMPRESA, APELLIDOS,NOMBRE) no se trata de que esten todos cumplimentados, las unicas posibilidades válidas han de ser:

OPCION 1 VALIDA
--------------------------
EMPRESA (CUMPLIMENTADO)
APELLIDOS Y NOMBRE ( VACIO)

OPCION 2 VALIDA
-------------------------
EMPRESA (VACIO)
APELLIDOS Y NOMBRE (CUMPLIMENTADO)

son tres campos que no pueden estar a la misma vez llenos, o está lleno unicamente Empresa, o empresa esta vacia y a la vez Apellidos y nombre llenos.

Se me ha ocurrido poner un boton de validar datos y hacer ahí la comprobación pero tampoco sé muy bien cómo puesto que ésto de aquí abajo no me funciona.

If EMPRESA.Value = "" And APELLIDOS.Value <> "" And NOMBRE.Value <> "" Then
Else
MsgBox "Error en EMPRESA o APELLIDOS + NOMBRE"
End If

If EMPRESA.Value <> "" And APELLIDOS.Value = "" And NOMBRE.Value = "" Then
Else
MsgBox "Error en EMPRESA o APELLIDOS + NOMBRE"
End If


Gracias.
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
Imágen de perfil de Enrique Ramírez
Val: 37
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Comprobar campos vacios

Publicado por Enrique Ramírez (629 intervenciones) el 16/04/2009 19:12:36
asumo que tus cajas de texto no tienen el valor de "" sino que tienen el valor de Null, cambia tu validación y verás que ya te funciona.
este código te puede servir para ver si lo adaptas a tu programa, lo probe y si funciona bién, saludos.

If IsNull(EMPRESA.Value) Then
If APELLIDOS <> "" And NOMBRE <> "" Then
MsgBox "falta EMPRESA si hay APELLIDOS si hay NOMBRE"
Exit Sub
Else
If APELLIDOS <> "" And IsNull(NOMBRE) Then
MsgBox "falta EMPRESA si hay APELLIDOS falta NOMBRE"
Exit Sub
Else
If IsNull(APELLIDOS) And NOMBRE <> "" Then
MsgBox "falta EMPRESA falta APELLIDOS si hay NOMBRE"
Exit Sub
End If
End If
End If
Else
If IsNull(APELLIDOS) And IsNull(NOMBRE) Then
MsgBox "si hay EMPRESA falta APELLIDOS falta NOMBRE"
Exit Sub
Else
If APELLIDOS <> "" And IsNull(NOMBRE) Then
MsgBox "si hay EMPRESA si hay APELLIDOS falta NOMBRE"
Exit Sub
Else
If IsNull(APELLIDOS) And NOMBRE <> "" Then
MsgBox "si hay EMPRESA si hay NOMBRE falta APELLIDOS"
Exit Sub
End If
End If
End If
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:Comprobar campos vacios

Publicado por Paco (38 intervenciones) el 16/04/2009 20:16:29
Muchas gracias Enrique, ahora sí funciona, no como quiero pero eso ya lo arreglo yo, no pueden estar las 3 cajas de texto cumplimentadas, o está solo la empresa o están los apellidos + nombre, pero nunca las tres, no obstante con lo que me has aportado tengo más que suficiente para hacer las modificaciones oportunas, te doy de nuevo las gracias por todo.

Un saludo
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
sin imagen de perfil
Val: 28
Ha disminuido su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

RE:Comprobar campos vacios

Publicado por Jefferson (382 intervenciones) el 17/04/2009 06:01:55
Amigo...

Disculpa que me meta en la conversacion de Uds, lo que pasa es que tu inquietud me llamo la atencion y decidi hacerte un ejemplo (no te lo escribo por aqui porque es algo largo y dificil de explicar)

Descargalo de esta Direccion
http://sites.google.com/site/jjjt1973/
Buscalo por Seleccionar solo una opcion (PERSONAS o EMPRESAS)

Espero y sea eso lo que realmente necesitas
Un Placer haber ayudado
Desde Venezuela
Jefferson
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:Comprobar campos vacios

Publicado por mi menda (1111 intervenciones) el 17/04/2009 10:58:09
Hola:
¿No será más fácil habilitar o deshabilitar los campos cuando uno se rellene, o sea nulo?

Un saludo
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:Comprobar campos vacios

Publicado por Paco (38 intervenciones) el 17/04/2009 20:01:48
Muchas gracias Jefferson, comprobaré tu ejemplo, también gracias a "mimenda" por la idea de dehabilitar campos. Con todo lo que me habéis indicado y ayudado puedo resolver esta cuestión.., hasta la próxima eso si...

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