Access - Filtrar Formulario según Checkbox

Tengo un formulario en access y me gustaría poder filtrarlo según un checkbox, es decir, si selecciono el checkbox que me filtre el formulario y si no lo marco me lo muestre todo.

1 respuesta

Respuesta
2

Aitor: Algún otro o yo mismo te daríamos la respuesta más completa si aportaras los datos suficientes, pero te doy una guía.

En el Evento Después de actualizar del Check y suponiendo que se llama ChkFiltro has de poner algo así:

Private ChkFiltro_AfterUpdate()
If Me.ChkFiltro = -1 Then
   Me.Filter = "Nombre = 'Juan'"
   Me.FilterOn = True
Else
   Me.Filter = ""
   Me.FilterOn = False
End If
End Sub

Donde te pongo Nombre es el Campo de Tabla o Consulta y Juan es un invento que tú has de sustituir por lo que quieras. Un saludo >> Jacinto

Hola Jacinto, mi idea es, tengo Instalaciones, Clientes y Contratos Vigentes. Me gustaría que según si el Contrato es Vigente o no (Checkbox) me muestre los clientes y las Instalaciones vigentes en un formulario siempre y cuando el checkbox esta marcado.

En SQL y ademas funciona seria asi, SELECT INSTALACIONES.*, CLIENTES.contrato_vigente FROM CLIENTES INNER JOIN INSTALACIONES ON CLIENTES.Rao_social = INSTALACIONES.Cliente WHERE CLIENTES.contrato_vigente = true;

El problema es que no se como hacer para que a partrir de la Consulta SQL filtre el Formulario si marco el Checkbox o no.
Muchas Gracias y espero haberme epxlicado mejor>>>>Black

Aitor: Usa lo mismo que te he puesto arriba, pero sustituyendo..

Private ChkFiltro_AfterUpdate()
If Me.ChkFiltro = -1 Then
   Me.RecordSource = "SELECT.....lo que tienes = True:"
   'Obien terminando en  >> La de arriba o la de abajo, no las dos
   Me.RecordSource = "SELECT.....lo que tienes = -1;"
Else
   Me.RecordSource = SELECT....  Sin El WHERE Terminando en  ...INSTALACIONES.Cliente;"
End If
End Sub

No lo he probado, pero no deberías tener dificultades. Mis saludos >> Jacinto

Hola Jacinto,

He copiado el código tal cual, el problema que me da es que no me deja marcar el checkbox por lo tanto la condición no se cumple... No se cual podría ser el problema..

Muchas gracias!>>Black

Aitor: Si no te deja marcar el Check puede ser que lo tengas bloqueado o el Origen de datos del Formulario, esté en modo de solo lectura. Si lo ves en SnapShot cambialo a Dynaset, Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas