Imprimir página | Cerrar ventana

Abrir formulario con un criterio en VBA desde un c

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=86135
Fecha de impresión: 06/Diciembre/2021 a las 06:59


Tema: Abrir formulario con un criterio en VBA desde un c
Publicado por: Javier Pérez
Asunto: Abrir formulario con un criterio en VBA desde un c
Fecha de publicación: 05/Octubre/2021 a las 09:44
Tengo un formulario llamado "INICIO" con un cuadro combinado "xJefeObra" basado en una consulta "C-OBRAS" donde coge dos campos, 1º “jefesdeobras” de la tabla “JefeObras” y el 2º “obras” de la tabla ”Obras” y quisiera hacer que al seleccionar en el cuadro combinado un jefe de obras me pueda abrir otro formulario "FACTURAS-ENTRADAS" basado en una tabla "FACTURAS" donde existe un campo llamado "Obras" y que me muestre todos los registros que contenga todas las obras de ese Jefe de Obras, hasta ahora lo he conseguido hacer, pero solo me sale todos los registros de la primera obra del jefe de obras y yo quiero que me salga todas las obras del jefe seleccionado. Si es posible os agradecería vuestra ayuda, gracias.



Respuestas:
Publicado por: xavi
Fecha de publicación: 05/Octubre/2021 a las 19:01
Hola,

¿Y que has hecho para filtrar el formulario que abres?

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Javier Pérez
Fecha de publicación: 05/Octubre/2021 a las 19:18
Hola Xavi, gracias por tu interés y tu ayuda, 

en el evento al cambiar del cuadro combinado xJefeObra he puesto el siguiente comando
DoCmd.OpenForm "facturas-entrada", , , "obra= me.xJefeObra "
con esto me abre el formulario Facturas-entrada pero solo los registros que contiene la primera obra del cuadro combinado, yo lo que necesito es que al seleccionar un jefe de obras me pueda abrir el formulario facturas-entrada con todas las obras de ese jefe de obras y no se como hacerlo, se que el procedimiento que estoy utilizando no es correcto pero es que no se hacerlo de otra forma, gracias.


Publicado por: Javier Pérez
Fecha de publicación: 05/Octubre/2021 a las 20:26
Perdona el código es
DoCmd.OpenForm "facturas-entrada", , , "OBRA='" & me.xJefeObra & "'" 



Publicado por: xavi
Fecha de publicación: 05/Octubre/2021 a las 20:37
Hola,

Edito: he tardado tanto en redactar que no he visto tu siguiente mensaje. 

No se si te acabo de entender...

Ese código abrirá el formulario pero el filtro que aplicas es incorrecto ya que filtras por las obras que, literalmente, tengan como valor "me.xJefeObra". Además eso está "definido" como un número ya que no tiene delimitadores de texto ni de fecha.

Como yo lo veo.
En tu formulario tienes un cuadro combinado que (parece) mostrar un listado de jefes de obras y obras (es lo que yo entiendo)

Fulanito Obra1
Fulanito Obra2
Menganito Obra3
Zutanito Obra4

Cuando seleccionas a "Fulanito" quieres que se abra el formulario de facturas filtradas a las obras del jefe de obra "Fulanito"

Para que funcione la tabla Facturas debería tener un jefe de obra. 

Y deberías construir el filtro correctamente
"JefeObra = '" & Me!xJefeObra & "'"
(observa los apostrofes)


Sin tener más claro la estructura de las tablas es complicado dar una respuesta más ajustada.

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: LuisR
Fecha de publicación: 06/Octubre/2021 a las 00:27

Buenas, 

creo que abusas de los formularios y que infrautilizas los informes.

.... formulario llamado "INICIO" con un cuadro combinado "xJefeObra" basado en una consulta "C-OBRAS" donde coge dos campos, 1º “jefesdeobras” de la tabla “JefeObras” y el 2º “obras” de la tabla ”Obras” y quisiera hacer que al seleccionar en el cuadro combinado un jefe de obras me pueda abrir UN INFORME "FACTURAS-ENTRADAS" basado en una CONSULTA "FACTURAS" donde existe un campo llamado "Obras" y que me muestre todos los registros que contenga todas las obras de ese Jefe de Obras, .....

Basas el informe en una consulta, en el diseño de la consulta pones un campo "Jefe de Obras" y en criterio escribes =[formularios]![nombredelformulario]![nombredelcuadrocombinado] 
Cuando pulses el botón se te abrirá el informe sólo con los registros de ese Jefe de Obras. 


Puedes editar el informe y generar eventos, al hacer click en cada campo que se abra un formulario con más datos o con la información que quieras editar. 


-------------
Trabajo en inmobiliaria.



Publicado por: Javier Pérez
Fecha de publicación: 06/Octubre/2021 a las 12:32
Gracias tanto a Xavi como a Luis, mi problema es que en la tabla de facturas no tengo ningún campo con el jefe de obras, esto solucionaría  todo el problema, ya había barajado esa posibilidad que es mas simple, actualizare la tabla de facturas para incluir el jefe de obras y que cuando genere un nuevo registro me lo añada y pueda filtrarlo mas fácilmente.


Publicado por: LuisR
Fecha de publicación: 06/Octubre/2021 a las 15:30
Haz una consulta de referencias cruzadas



-------------
Trabajo en inmobiliaria.



Publicado por: Javier Pérez
Fecha de publicación: 06/Octubre/2021 a las 16:05
Gracias Luis, pero he optado por añadir el campo Jefe de obras a la tabla facturas, un saludo



Imprimir página | Cerrar ventana