Traer todos los registros de una consulta Access si el valor de un campo es nulo

Esto seguramente es una nimiedad pero me he vuelto loco y no doy con la solución. Tengo un formulario desde el que se abre una consulta. En el formulario tengo un campo que se llama "Proveedor" en el que el usuario teclea el número de proveedor y la consulta filtra los registros de ese proveedor. En el campo correspondiente de la consulta tengo el criterio "=[Formulario]![Proveedor]!". Hasta aquí todo correcto. La cuestión es que quiero que cuando un usuario lo deje vacío o ponga "TODOS" la consulta no aplique el filtro en ese campo y traiga los registros de todos los proveedores. He probado con SiInm pero no he conseguido dar con la "tecla".

Gracias a todos los que desinteresadamente echan una mano a amateurs como yo; no sería posible sin ustedes.

1 Respuesta

Respuesta
2

Prueba quitando el criterio de la consulta y filtrando en el Formulario de la manera siguiente.

Private Sub Proveedor_AfterUpdate()
Dim FiltroProv As String
FiltroProv = "Proveedor = '" & Me.Proveedor
If IsNull(Me.Proveedor) Or Me.Proveedor = "Todos" Then
     Me.Filter = ""
     Me.FilterOn = False
Else
     Me.Filter = FiltroProv
     Me.FilterOn = True
End If
End Sub

Estoy suponiendo que Proveedor es un Campo de Texto, ya que de otro modo la línea del filtro cambiaría a >>

FiltroProv = "Proveedor = " & Me.Proveedor

Y donde pone "Todos", deberías poner un cero (0) sin comillas. Un saludo >> Jacinto

Rectificación: Si es Texto

FiltroProv = "Proveedor = '" & Me.Proveedor & "'"

A veces al copiar y pegar las comillas cambian, en cuyo caso es mejor escribir en lugas de copiar y Pegar. Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas