** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Filtrar registros de un formulario
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoFiltrar registros de un formulario

 Responder Responder Página  12>
Autor
Mensaje
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Tema: Filtrar registros de un formulario
    Enviado: 21/Noviembre/2019 a las 17:50
Buenas tardes.
Me gustaría saber si desde un formulario de inicio, donde se loga un usuario se pueden filtrar los registros a los que tiene acceso.
La idea es que una vez que se ingrese por un cuadro de lista a una provincia (de una comunidad), me filtre los usuarios de esa provincia (por otro cuadro de lista) y entre. Hasta ahí sé hacerlo. 
Al entrar, lo hará en un registro con datos de todas las provincias.
Lo que quiero es que ese usuario acceda sólo a los registros de datos de su provincia y no de todas las del registro.
Me pueden ayudar, porque "esto" no tengo ni idea a priori de cómo hacerlo.
Gracias por adelantado.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 21/Noviembre/2019 a las 19:53
Hola!

En la página del maestro Neckkito hay muchos ejemplos de seguridad
Seguridad.
Lo del cuadro de lista busca en el foro, en la página de Neckkito o en Google Combos en cascada.
Un Saludo.
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 21/Noviembre/2019 a las 20:22
Gracias Mounir.
Lo de la seguridad lo tengo claro y en relación a los combos, más o menos.
Lo que ocurre es que no sé extrapolar el resultado de un combo filtrado a otro formulario.
Me explico. Elijo en un combo país; en el siguiente combo elijo provincias (de ese país) y, p.e. en el tercer combo elijo poblaciones (de esa provincia y de ese país).
Pues bien, quiero acceder a los registros (en otro formulario, de otra tabla) filtrados por esa población.
Tengo el campo "población" en ambos formularios.
Más o menos sé hacerlo por consulta, pero la idea que barajo es hacerlo mediante código en el evento "click" (pulsar botón), pues a la vez de filtrar, el usuario se habrá logado.
Eso no sé cómo hacerlo o plantearlo...
No sé si se me entiende más o menos.
Gracias de nuevo.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 21/Noviembre/2019 a las 20:47
Hola!

Si te he entendido bien, podrías utilizar el Objeto DoCmd haciendo uso de "WhereCondition" filtrando por Usuario y Población.
Tambien podrías utilizar la proiedad OpenArgs como en este hilo.
Un Saludo.
Arriba
teogf Ver desplegable
Asiduo
Asiduo


Unido: 09/Febrero/2007
Localización: España
Estado: Sin conexión
Puntos: 464
Enlace directo a este mensaje Enviado: 21/Noviembre/2019 a las 22:48
Hola,


Saludos,
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 22/Noviembre/2019 a las 12:36
Hola buenas.
Si lo he entendido bien, en el evento clic de un botón coloco:

DoCmd.OpenForm "Ficha", , , "poblacion=cboPoblacion"

DoCmd.OpenForm "Ficha", , , "poblacion=Me.cboPoblacion"

Supongo que del campo poblacion me coge el valor del combo (cboPoblacion) y me filtrará en el formulario Ficha la elección de ese combo.
Qué hago mal?? 
Me abre el formulario Ficha en blanco??

Vaya, que si hago:

DoCmd.OpenForm "Ficha", , , "poblacion='Gandía'"

..., si me filtra bien por Gandía.

Si, además, hubiese un formulario intermedio al de Ficha, ¿se perdería la información de la elección del combo?
Qué debería hacer?
Gracias Mil.


Editado por maserrano - 22/Noviembre/2019 a las 12:50
Arriba
teogf Ver desplegable
Asiduo
Asiduo


Unido: 09/Febrero/2007
Localización: España
Estado: Sin conexión
Puntos: 464
Enlace directo a este mensaje Enviado: 22/Noviembre/2019 a las 15:33
Hola Maserrano,

 

Yo lo que hago es pasar el valor del combo a un formulario intermediario que representa una lista y lo filtro por ese dato. Desde allí salto al formulario que contiene la ficha.

Por otro lado, tengo en cuenta de que el formulario que representa la lista no se puede cerrar, ya que, sino como tú dices, podría perder el valor del filtro.

Otra posibilidad sería utilizar una variable pública y esta llenarla con el valor del combo, de esta manera siempre podría cerrar el formulario intermedio.

No sé si me explicado. Pero podría enseñártelo como yo lo hago, por si te sirve de ayuda.


Saludos,
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 22/Noviembre/2019 a las 17:38
Hola!

Otra cuestión es saber que devuelve el "cboPoblacion", ya que puede tratarse de un cuadro combinados con mas de una columna. Para saberlo utiliza MsgBox:

MsgBox Me.cboPoblacion, MsgBox Me.cboPoblacion.Column(0) o MsgBox Me.cboPoblacion.Column(1)
Un Saludo.
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 22/Noviembre/2019 a las 22:42
Vale.
He utilizado una variable que declaro tal que:

Dim VPob As String
    
    VPob = Nz(Me.cbopoblacion.Value, "")

..., y en el formulario que lo abre al hacer click en el evento he puesto:

DoCmd.OpenForm "Ficha", , , "subdireccion=VPob"

Pues al hace clic, me sale un cuadro de mensaje que me dice:

Introduzca el valor del parámetro
VPob

..., el caso es que lo pongo y me filtra, pero no me lo coge del combo tal cual lo he puesto. Qué me falla??


Editado por maserrano - 22/Noviembre/2019 a las 22:43
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 6521
Enlace directo a este mensaje Enviado: 22/Noviembre/2019 a las 22:46
Hola!

Has hecho las pruebas que te comenté en mi mensaje anterior?
Un Saludo.
Arriba
teogf Ver desplegable
Asiduo
Asiduo


Unido: 09/Febrero/2007
Localización: España
Estado: Sin conexión
Puntos: 464
Enlace directo a este mensaje Enviado: 22/Noviembre/2019 a las 23:28
Prueba esto:

Si VPob es texto:

DoCmd.OpenForm "Ficha", , , "[subdireccion]=“ & VPob

Si VPob es número:

DoCmd.OpenForm "Ficha", , , "[subdireccion]=‘ “ & VPob & “ ‘ “

Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 22/Noviembre/2019 a las 23:44
Perdón a todos. Me pongo a ello. Los niños....
Ciao
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 23/Noviembre/2019 a las 00:17
Veamos Sr. Mounir.

MsgBox Me.cboPoblacion : Indica la Población (p.e, Gandía)

MsgBox Me.cboPoblacion.Column(0) : Igual, Indica la Población (p.e, Gandía)

MsgBox Me.cboPoblacion.Column(1) : error 94 en tiempoo de ejecución Uso no válido de Null

error de compilación no se encontró el método o el dato miembro

En relación al sr. teogf, lo primero, disculpa, pero he tenido una tarde... (tengo mellizos pero no quiero que sea escusa).

He probado y al ser texto, he usado:

DoCmd.OpenForm "Ficha", , , "[subdireccion]=“ & VPob

se ha producido el error '3075' en tiempo de ejecución: Error de sintaxis...

Me pongo a ver que no he tenido tiempo.

Muchas Gracias
Arriba
teogf Ver desplegable
Asiduo
Asiduo


Unido: 09/Febrero/2007
Localización: España
Estado: Sin conexión
Puntos: 464
Enlace directo a este mensaje Enviado: 23/Noviembre/2019 a las 00:26
Disculpa, te lo he dicho al revés:

Si VPob es Numeeo/

DoCmd.OpenForm "Ficha", , , "[subdireccion]=“ & VPob

Si VPob es texto:

DoCmd.OpenForm "Ficha", , , "[subdireccion]=‘ “ & VPob & “ ‘ “

Disculpa!
Arriba
maserrano Ver desplegable
Colaborador
Colaborador


Unido: 02/Abril/2014
Localización: España
Estado: Sin conexión
Puntos: 690
Enlace directo a este mensaje Enviado: 23/Noviembre/2019 a las 01:37
Probé los dos casos y me da el siguiente error con texto:

DoCmd.OpenForm "Ficha", , , "[subdireccion]=‘ “ & VPob & “ ‘ “"

se ha producido el error '3075' en tiempo de ejecución:
Error de sintaxis (falta operador) en la expresión de consulta '[subdirección]= '" & VPob &"'"
Arriba
 Responder Responder Página  12>
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable