Access - VBA reconocer caja de texto vacía como Null

 
Vista:
Imágen de perfil de Cm
Val: 105
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

VBA reconocer caja de texto vacía como Null

Publicado por Cm (68 intervenciones) el 27/06/2018 19:58:55
Tenemos un formulario con un par de campos de texto. Queremos hacer que el botón que verifica si alguno de los campos está vacío impida guardar la información en la tabla correspondiente.

De momento el sistema funciona casi del todo bien, pero al añadir 'espacios' con la barra espaciadora y luego borrarlos, a veces no reconoce el campo como null incluso habiéndolos borrado.

El código del botón es:

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Comando11_Click()
 
    If IsNull(Me!Texto) Or IsNull(Me!Tipo_CE) Then
 
      MsgBox "Uno de los campos esta vacio", vbExclamation, "Faltan Datos"
 
    Else
 
        DoCmd.Close acForm, "Maestro_Consentimientos_crea"
 
    End If
End Sub

¿Alguna idea de por qué funciona así?
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

VBA reconocer caja de texto vacía como Null

Publicado por Anonimo (1967 intervenciones) el 28/06/2018 02:55:28
Funciona así porque es lo correcto
.- un campo sin inicializar será considerado un NULL
.- inicializado solo podrá ser o un cero si es numérico o una cadena vacía si es alfanumérico

Original:
1
If IsNull(Me!Texto) Or IsNull(Me!Tipo_CE) Then

Variación:

1
If Len(Trim(Nz(Me!Texto,""))) = 0 Or Len(Trim(Nz(Me!Tipo,""))) = 0 Then


No se garantiza o tiene en cuenta que el usuario introduzca cualquier carácter (que no sea un espacio) para salirse con la suya ….
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Cm
Val: 105
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

VBA reconocer caja de texto vacía como Null

Publicado por Cm (68 intervenciones) el 28/06/2018 09:47:46
Muy bien!!! Esta solución funciona perfectamente.

Se ha probado con números, letras y espacios y la cosa responde como queríamos.

Muchas gracias por tu aporte, ha sido de gran ayuda.
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