[RESUELTO] Ayuda con Listado Filtrado

Discute sobre las herramientas de la base de datos
Responder
dellorianes
Mensajes: 9
Registrado: Mar Abr 07, 2020 3:22 pm

[RESUELTO] Ayuda con Listado Filtrado

Mensaje por dellorianes »

Buenos días,

Estoy intentando seguir las instrucciones de este hilo, pero no consigo que el listado "Obras", del formulario, muestre los registros filtrados en función de la empresa rellenada con anterioridad.

https://forum.openoffice.org/es/forum/v ... box#p26504

Podríais ayudarme a identificar el error?

Muchas gracias
Adjuntos
test.zip
(11.65 KiB) Descargado 208 veces
Última edición por dellorianes el Mar Ago 25, 2020 12:53 pm, editado 3 veces en total.
OpenOffice 4.1.7 en Windows 10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Ayuda con Listado Filtrado

Mensaje por RMG »

Hola,

La verdad es que tenias varios errores, además no habías asignado la macro al listado empresa que es quien la lanza. Comprueba mi ejemplo con el tuyo y lo veras mejor.

Saludos
Adjuntos
test1.7z
(11.47 KiB) Descargado 216 veces
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
dellorianes
Mensajes: 9
Registrado: Mar Abr 07, 2020 3:22 pm

Re: Ayuda con Listado Filtrado

Mensaje por dellorianes »

Muchas gracias!

Ya he conseguido identificar los errores y conseguido que funcione.

Gracias

Un saludo
OpenOffice 4.1.7 en Windows 10
dellorianes
Mensajes: 9
Registrado: Mar Abr 07, 2020 3:22 pm

Re: Ayuda con Listado Filtrado

Mensaje por dellorianes »

Vuelvo a abrir el topic porque al intentar incluir la macro en la base de datos (en el ejemplo si que conseguí que funcionase) me da un error en basic.

Tengo que decir que la lista a filtrar esta dentro de un subformulario de un subformulario; aunque todos los campos que hacen referencia a la macro los tengo dentro del mismo subformulario.
Adjunto captura del error.

Gracias de nuevo

Un saludo
Adjuntos
Captura.7z
(41.1 KiB) Descargado 185 veces
OpenOffice 4.1.7 en Windows 10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Ayuda con Listado Filtrado

Mensaje por RMG »

Hola,

Para hacer referencia al formulario activo es oForm = Evento.Source.Model.Parent, pero si el control esta en un subformulario de ese formulario, debes bajar un nivel, y si estas en un subformulario de un subformulario dos niveles.

Por eso debes modificar esta linea por oForm = Evento.Source.Model.Parent.Parent.

Prueba y dices si funciona, si no adjunta una BD de ejemplo.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
dellorianes
Mensajes: 9
Registrado: Mar Abr 07, 2020 3:22 pm

Re: Ayuda con Listado Filtrado

Mensaje por dellorianes »

Buenos días,

Gracias de nuevo por contestar.

Te añado un ejemplo de la base, simplificado.

Por si fuese relevante, la base real tiene un formulario principal (nombre). De este, cuelga un subformulario (homologación) del cual cuelgan otros 4 subformularios (1-1-4). Uno de esos 4 subformularios (Obras) es el del ejemplo que adjunto.
Adjuntos
test2.zip
(13.9 KiB) Descargado 182 veces
OpenOffice 4.1.7 en Windows 10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Ayuda con Listado Filtrado

Mensaje por RMG »

Hola,

Fijate bien al hacer referencia a un control de poner el nombre correcto. No es lo mismo Num-Homologacion que Num_Homologacion o txtNum-Homologacion, tampoco Empresa es lo mismo que ID_Empresa, revisa en tu BD y lo veras.

Lo más conveniente es poner el mismo nombre del campo al control, te evitaras algún problema. Las relación de obras del listado Obras, no se obtienen de la tabla Obras, sino de la consulta filtrada. Y por último la macro FiltroConsulta no la puedes asignar al evento Doumento va a ser cerrado, tienes que asignar la macro Consulta para que reinicie todos los nombres de las obras.

Saludos
Adjuntos
test3.7z
(13.3 KiB) Descargado 209 veces
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
dellorianes
Mensajes: 9
Registrado: Mar Abr 07, 2020 3:22 pm

Re: Ayuda con Listado Filtrado

Mensaje por dellorianes »

Hola,

Gracias de nuevo por responder tan rápido.

me he bajado el ejemplo test 3 que has subido y la lista de obras no aparece filtrada.

Yo lo que había hecho era usar para la macro todos los campos del mismo subformulario (Sub_Sub_Homologacion_Obras), de ahi que usase Num_Homologacion y aplicase el filtro al listado ID_Empresa, ambos ocultaos.

El "ID_Empresa", que aparece en la macro, lo cogí de "tabla_Obras".

Encuanto al comando:
oForm.Parent.Parent.Parent("ID_Obra").Refresh ; ID_Obra correspondería al nombre de la lista (del subformulario) en la que quiero el filtro, ¿no? Aquí si que tenía puesto ID Obra ( y ya me anoto el obtenerlas de la consulta).



Podrías echarle un vistazo a tu ejemplo? A mi no me va el filtrado.

Muchas gracias de nuevo por tu paciencia.

Un saludo
OpenOffice 4.1.7 en Windows 10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Ayuda con Listado Filtrado

Mensaje por RMG »

Hola,

Pues no se que ha podido pasar funcionaba bien. De todas formas pon esta solución, ya que el filtro de la consulta sí funciona, solo es refrescar el control.

Código: Seleccionar todo

Sub ActualizarControl(Evento)'evento al recibir el foco Obra
	'Refrescamos el control
	Evento.Source.Model.Refresh()
End Sub
Esta macro la pones donde seleccionas la obra, en el listado obras, al recibir el foco.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
dellorianes
Mensajes: 9
Registrado: Mar Abr 07, 2020 3:22 pm

Re: Ayuda con Listado Filtrado

Mensaje por dellorianes »

Ahora si, conseguido!! Incluida la BD principal.

Muchísimas gracias por tu paciencia.

Cierro el hilo
OpenOffice 4.1.7 en Windows 10
Responder