No NULO en formulario no consulta

Dudas sobre Tablas, Consultas, Formularios, Informes...
Avatar de Usuario
bryger
Nivel 4
Mensajes: 139
Registrado: Mié Jul 06, 2016 12:24 pm

No NULO en formulario no consulta

Mensajepor bryger » Vie Dic 14, 2018 2:11 am

Buenas queria saber si existe alguna forma que por medio de un botos pueda filtrar los valores no nulos por ejemplo tengo un formulario y dentro otro subformulario quiero desde el formulario filtrar un campo llamado numero dentro de un subformulario y que solo muestre los valores que no sean nulos ni en blanco

me podrian ayudar no se nada de fintros ojo no mpuede ser consulta debe ser con codigo

intente asi pero no me da

Código: Seleccionar todo

DoCmd.SetFilter WhereCondition:="[numero_contrato]= >1 "

Avatar de Usuario
Fayad
Colaborador
Mensajes: 314
Registrado: Mié Oct 28, 2015 9:43 pm

Re: No NULO en formulario no consulta

Mensajepor Fayad » Vie Dic 14, 2018 10:42 am

Hola!
Normalmente si filtras por un valor no te dael valor en blanco a no ser que quieras que otors campos no sean nulos.

Yo lo que haría es crear una consulta con todos los criterios copiar la SQL (luego eliminas la consulta) y con el botón actuar a nivel del origen del registro del subformulario:-

Código: Seleccionar todo

Private Sub Filtro_Click()

Me.Subformulario.RecordSource = "SELECT Campo1, CampoNumero FROM Tabla" _
& "WHERE Campo1 Is Not Null AND CampoNumero= " & Me.Numero

End Sub


Otro Boton para quitar filtro:

Código: Seleccionar todo

Private Sub Quitar_Filtro_Click()

Me.Subformulario.RecordSource = "SELECT SELECT Campo1, CampoNumero FROM Tabla"

End Sub
.
Salu2.

Avatar de Usuario
bryger
Nivel 4
Mensajes: 139
Registrado: Mié Jul 06, 2016 12:24 pm

Re: No NULO en formulario no consulta

Mensajepor bryger » Sab Dic 15, 2018 12:13 am

Hola Fayad Gracias por tomarte la molestia de ayudarem por mas que intente no pude el codigo sql que coloque es el siguiente

Código: Seleccionar todo

Me.pagos_personal.RecordSource = "SELECT Manifiesto_diario, numero_contrato FROM Manifiesto_diario" _
& "WHERE (((Manifiesto_diario.numero_contrato) Is Not Null));"


el Subformulario es:personal_pagos
la tabla: manifiesto_diario
el campo a filtraren la tabla:numero_contrato
y el campo del subformulario:numero_contrato

Avatar de Usuario
Fayad
Colaborador
Mensajes: 314
Registrado: Mié Oct 28, 2015 9:43 pm

Re: No NULO en formulario no consulta

Mensajepor Fayad » Sab Dic 15, 2018 1:07 am

Hola!

Error mío!!!! Te falta añadir al subformulario el tipo de objeto que es (.Form)

Prueba así:

Código: Seleccionar todo

Me.pagos_personal.Form.RecordSource = "SELECT numero_contrato FROM Manifiesto_diario WHERE numero_contrato Is Not Null"
Salu2.

Avatar de Usuario
bryger
Nivel 4
Mensajes: 139
Registrado: Mié Jul 06, 2016 12:24 pm

Re: No NULO en formulario no consulta

Mensajepor bryger » Sab Dic 15, 2018 1:18 am

me funciona pero me da error en los demas datos si lo quisiera colocar directo el el subfomulario al abrir
como seria en este caso

asi es el error he pensado en colocarlo al abir para que me de solo los no nulos
1.png

2.png


yo utilizo un boton comando para filtrar varios datos al mismo tiempo pero lo que requiero es que ese campo nunca muestre valores en blanco solo los llenos
este es el codigo que filtra lo requerido

Código: Seleccionar todo

'Creamos la variable que contendrá la combinación de todos los filtros
    Dim sFiltro As String
    'Creamos una variable para guardar el filtro por título
    Dim sFecha_busqueda As String
    Dim sNombres_apellidos_personal As String
   
   
       
'Construyo la cadena para filtrar por Fecha
    If IsNull(Me.txtFechaInicio) And IsNull(Me.txtFechaFin) Then
        sFecha_busqueda = ""
    Else
        sFecha_busqueda = "Fecha_busqueda BETWEEN #" & Format(Nz(Me.txtFechaInicio, #1/1/1900#), "mm-dd-yyyy") & _
                    "# AND #" & Format(Nz(Me.txtFechaFin, #12/31/9999#), "mm-dd-yyyy") & "#"
    End If
  'Construyo la cadena para filtrar por nombre
    If Not IsNull(Me.Nombres_apellidos_personal) And Me.Nombres_apellidos_personal <> "" Then
        sNombres_apellidos_personal = "Nombres_apellidos_personal LIKE '*" & Me.Nombres_apellidos_personal & "*'"
    Else
        sNombres_apellidos_personal = ""
    End If
   
   
    '*************************************************************************
    ' Según estén vacías o no las distintas variables (Filtros)
    ' construyo el filtro final que se enviará al subformulario.
    ' Lo que hacemos es combinarlos con "AND"
    '*************************************************************************
       
     
    If sFecha_busqueda <> "" Then
        If sFiltro <> "" Then
            sFiltro = sFiltro & " AND " & sFecha_busqueda
        Else
            sFiltro = sFecha_busqueda
        End If
    End If
   
     If sNombres_apellidos_personal <> "" Then
        If sFiltro <> "" Then
            sFiltro = sFiltro & " AND " & sNombres_apellidos_personal
        Else
            sFiltro = sNombres_apellidos_personal
        End If
    End If
   
   
   
   

    'Una vez compuesta la variable sFiltro podemos verla en la ventana
    'inmediato para verificar que lo estamos haciendo bien
    Debug.Print sFiltro
   
    'Y a partir de aquí, si la variable sFiltro no está vacía
    'se la aplicamos al subformulario
   
    If sFiltro <> "" Then
        'Asignamos la varaible a la propiedad Filter del subformulario
        Me.pagos_personal.Form.Filter = sFiltro
        'Le decimos al subformulario que active el filtro
        'que previamente hemos asignado.
        Me.pagos_personal.Form.FilterOn = True
    Else
        'Si la variable está en blanco nos indica que no hay
        'seleccionados ningún filtro y por tanto lo desactivamos
        Me.pagos_personal.Form.FilterOn = False
    End If

   
End Sub

Avatar de Usuario
Fayad
Colaborador
Mensajes: 314
Registrado: Mié Oct 28, 2015 9:43 pm

Re: No NULO en formulario no consulta

Mensajepor Fayad » Sab Dic 15, 2018 9:56 am

Hola!

Tendrías que añadir a la SQL los otros campos.
Salu2.

Avatar de Usuario
bryger
Nivel 4
Mensajes: 139
Registrado: Mié Jul 06, 2016 12:24 pm

Re: No NULO en formulario no consulta

Mensajepor bryger » Sab Dic 15, 2018 5:33 pm

gracias

Código: Seleccionar todo

Me.pagos_personal.Form.RecordSource = _
"SELECT Manifiesto_diario.*, Personal_pagos.Nombres_apellidos_personal, Personal_pagos.CodigoT " & _
"FROM Personal_pagos LEFT JOIN Manifiesto_diario ON Personal_pagos.CodigoT = Manifiesto_diario.Tlmk " & _
"WHERE Manifiesto_diario.Fecha_busqueda Between #" & Me.txtFechaInicio & "# And #" & Me.txtFechaFin & "# " & _
"AND Manifiesto_diario.numero_contrato Is Not Null"


Volver a “Objetos Access”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado