Imprimir página | Cerrar ventana

problemas al aplicar un filtro

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85999
Fecha de impresión: 26/Marzo/2026 a las 17:41


Tema: problemas al aplicar un filtro
Publicado por: ziporroto
Asunto: problemas al aplicar un filtro
Fecha de publicación: 15/Mayo/2021 a las 21:46
un cordial saludo a todos
recurro a vosotros que sois unos verdaderos genios, ya que estoy bloqueado en ese punto y no hay manera.
he creado un formulario donde aplico unos filtros al pulsar unos botones, que ya me funcionan perfectamente. Tengo dos cuadros con formato fecha general (desde y hasta) y al introducir el valor y pulsar el valor mustra los registros

ese es el codigo (de novato pero me funciona)

Dim strCadendaBusqueda131 As Long
    Dim strCadendaBusqueda132 As Long
    Dim strCondicio131 As String
    If Not IsNull(Me.menordata) Then
        strCadendaBusqueda131 = Me.menordata
        strCadendaBusqueda132 = Me.majordata
       strCondicio131 = "[data]>=" & strCadendaBusqueda131 & " AND [data]<=" & strCadendaBusqueda132
    Debug.Print strCondicio131
        Me.FilterOn = True
        Me.Filter = strCondicio131
    Else
        Me.FilterOn = False
    End If

ahora quiero hacer lo mismo y poner el codigo al abrir el formulario para que muestre automaticamente los registros del 2021 al abrir el formulario.
lo que hago es modificar las lineas:
        strCadendaBusqueda131 >= "01/01/2021"
        strCadendaBusqueda132 <= "31/12/2021"
he provado entre los caràcters # # y nada de nada siempre me dice se esperava una expresión

alguien me puede indicar que hago mal, supongo que es por trabajar con fechas
muchas gracias a todos
   



Respuestas:
Publicado por: mounir
Fecha de publicación: 15/Mayo/2021 a las 23:21
Hola!

Yo lo haría así:-

' Creamos la variable que contendrá el filtro

Dim sFiltro As String

' Asignamos el filtro a la variable

sFiltro = "strCondicio131 BETWEEN #01/01/2021# AND #31/12/2021#"

' Asignamos la variable a la propiedad Filter del formulario

Me.Form.Filter = sFiltro

' Le decimos al formulario que active el filtro

' que previamente hemos asignado.

Me.Form.FilterOn = True


-------------
Un Saludo.


Publicado por: cuic
Fecha de publicación: 16/Mayo/2021 a las 15:48
muchisimas gracias mounir
Lo estoy mirando. he seguido tus pasos y algo hago mal (no entiendo de programación y hago lo que puedo

Dim sFiltro As String
sFiltro = "strCondicio131 BETWEEN #01/01/2021# AND #31/12/2021#"
Me.Form.Filter = sFiltro
Me.Form.FilterOn = True
 
ya que cuando ejecuto las lineas me pide el valor de strcondicio131.
una pregunta ese valor antes era  la de una variable, ahora seria lo mismo o seria el nombre dela tabla o formulario???





Publicado por: mounir
Fecha de publicación: 16/Mayo/2021 a las 17:06
Hola!

strcondicio131 tiene que ser el nombre del campo fecha por el cual quieres filtrar, ya sea en la tabla o una consulta que es el origen del registro del formulario.

-------------
Un Saludo.


Publicado por: cuic
Fecha de publicación: 16/Mayo/2021 a las 17:30
ahora si, ya me funciona, muchísimas gracias mounir

soy unos genios

doy el tema por cerrado








Imprimir página | Cerrar ventana