[RESUELTO] Macro cargar datos tabla o consulta base en hoja

Discute sobre las herramientas de la base de datos
Responder
calderon
Mensajes: 35
Registrado: Mar May 23, 2017 12:08 pm

[RESUELTO] Macro cargar datos tabla o consulta base en hoja

Mensaje por calderon »

Muy buenas,

mi consulta es cómo sería la macro que cargase automáticamente (al hacer click me vale también) los datos de una tabla o consulta de una base de datos a una hoja calc, de tal manera que pudiese refrescar los registros sin necesidad de ver orígenes de datos y copiar y pegar manualmente. He probado ha grabar una macro pero no me la captura. Alguna idea?

Un saludo
Última edición por calderon el Mié Ago 30, 2017 8:26 am, editado 1 vez en total.
OpenOffice 3.1 en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por mauricio »

Hola...

Por favor, NO escribas en mayúsculas los títulos...

Si tu vas a Ver, Orígenes de datos, y agregas (arrastras) una tabla o consulta a la hoja de calculo, se creara automáticamente un "rango de datos", después, cada vez que quieras refrescar los datos, solo vas a Datos -> Actualizar rango, listo, no necesitas macros...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
calderon
Mensajes: 35
Registrado: Mar May 23, 2017 12:08 pm

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por calderon »

Gracias por la respuesta. He probado a hacerlo así y sin duda funciona. Sin embargo, como trabajo con diferentes tablas y consultas en el mismo archivo calc, me gustaría añadir un botón de refresco para facilitarlo. ¿Cómo se podría hacer?
OpenOffice 3.1 en Windows 10
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por mauricio »

o sea... ¿en vez de dos clicks, quieres dar uno?
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
calderon
Mensajes: 35
Registrado: Mar May 23, 2017 12:08 pm

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por calderon »

Según he visto debería seleccionar cada grupo de datos e ir actualizándolo. El problema es que esto lo estoy haciendo para que sea utilizable por gente digamos muy poco ducha en el tema, por lo que quiero facilitarlo lo más posible. Además es que trabajo con varias tablas y hay que ir haciéndolo una a una...
OpenOffice 3.1 en Windows 10
calderon
Mensajes: 35
Registrado: Mar May 23, 2017 12:08 pm

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por calderon »

es imposible? no se puede hacer una macro? alguna respuesta?
OpenOffice 3.1 en Windows 10
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por fornelasa »

Si hubiera entendido bien aquí mis comentarios:
Asumo que hemos trabajado con todo lo estipulado en este tema.
Asumo que deseas actualizar todo de un jalón
Si asignamos esta macro a un botón de opción nos actualiza todo.

Código: Seleccionar todo

Sub Refrescar()
    	 Dim hoja As Object
         doc = ThisComponent
        crtl = doc.CurrentController
      inicio = doc.getCurrentSelection()
    document = crtl.Frame
  dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
       hojas = doc.getSheets()
         For Each hoja In Hojas
             crtl.Select(hoja.getCellRangeByName("A1")
             dispatcher.executeDispatch(document, ".uno:DataAreaRefresh", "", 0, Array())
         Next
         crtl.Select(inicio)
End Sub
Espero sea algo así.
Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
calderon
Mensajes: 35
Registrado: Mar May 23, 2017 12:08 pm

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por calderon »

Muchas gracias por tu respuesta, eso es exactamente lo que necesitaba. Funciona perfectamente, pero una vez que cierro el documento y lo vuelvo a abrir no puedo refrescar de nuevo los datos. Además, miro en el menú datos y veo la opción "Actualizar área" como desactivada. Cómo puedo arreglarlo?
Gracias otra vez
OpenOffice 3.1 en Windows 10
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por fornelasa »

No logro reproducir el inconveniente, a mi me funciona normalmente, ¿no tendrás el archivo en modo solo lectura? ¿puedes subir el archivo ejemplo a esta pagina?
Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
calderon
Mensajes: 35
Registrado: Mar May 23, 2017 12:08 pm

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por calderon »

Perdona por tardar tanto en contestar. He probado a reproducir el problema, y he constatado que, aunque nada más crear la hoja y tras arrastrar los datos de la consulta o tabla correspondiente funciona perfectamente dejándome actualizar el intervalo sin ningún problema. Eso sí, una vez que lo guardo, lo cierro y lo vuelvo a abrir ese botón aparece bloqueado, a pesar de entrar mediante Datos/seleccionar intervalo, al tratar después de darle a actualizar intervalo sale como bloqueado dicho botón. Subo en el que me da el fallo con una BD que supongo que será genérica.

En caso de no ser capaces de solucionar el problema de actualizar, ¿sería posible hacer una macro que importase una tabla o consulta predefinida a una celda de inicio concreta?

Muchas gracias y un saludo
Adjuntos
Sin título 1.xlsx
(7.67 KiB) Descargado 397 veces
OpenOffice 3.1 en Windows 10
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por fornelasa »

calderon escribió:En caso de no ser capaces de solucionar el problema de actualizar,
Considero que el tema esta solucionado y lo hemos comentado varias veces, por ejemplo:
calderon escribió:He probado a reproducir el problema, y he constatado que, aunque nada más crear la hoja y tras arrastrar los datos de la consulta o tabla correspondiente funciona perfectamente dejándome actualizar el intervalo sin ningún problema.
Parece que el problema es otro:
calderon escribió:Eso sí, una vez que lo guardo, lo cierro y lo vuelvo a abrir ese botón aparece bloqueado, a pesar de entrar mediante Datos/seleccionar intervalo, al tratar después de darle a actualizar intervalo sale como bloqueado dicho botón.
es decir, parece que tenemos un problema de botón que se desactiva o algo así.

Sugiero, dar por resuelto este tema y abrir un debate nuevo preguntando el porque se desactiva el botón. El archivo que envías no nos permite ver el problema porque no hay botón alguno y ademas el archivo es de Excel y aquí no damos soporte a Excel.

Saludos, Federico,
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
calderon
Mensajes: 35
Registrado: Mar May 23, 2017 12:08 pm

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por calderon »

Disculpa, creo que me he debido expresar bastante mal.

Con botón me refería al elemento "Actualizar área" del menú datos dentro de la barra superior de herramientas. Eso supone que dicha función está inoperativa digamos "manualmente", motivo que supongo que irá asociado a la macro no actualice tampoco los datos. Desconozco por qué no funciona y aparece como inhabilitado. He adjuntado una captura de pantalla en la cual se ve el estado de dicha acción tras haber seleccionado el grupo mediante
Datos/seleccionar intervalo.

No tiene nada que ver con un command button.

Respecto al formato del archivo, de entre los distintos formatos que soporta Calc para guardar un archivo he elegido ese, pero no tengo ningún problema en elegir otro. He probado con otros formatos y he tenido el mismo problema.

Por todo esto creo que el objeto de la consulta no está resuelto, ya que no está funcionando el refresco.

Muchas gracias y espero haber aportado una información más concisa.
Adjuntos
problema.png
OpenOffice 3.1 en Windows 10
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por fornelasa »

Parece que el problema está en como se guarda el archivo por la extensión .xlsx ; se ve que este tipo de archivo no soporta al 100% la característica.
Mira con extensión .ods

Imagen

A mi me funciona normalmente con .ods
Te sugiero descargues la versión mas estable y actualizada de LIbreOffice
https://es.libreoffice.org/descarga/lib ... e-estable/
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
calderon
Mensajes: 35
Registrado: Mar May 23, 2017 12:08 pm

Re: Macro cargar datos tabla o consulta base en hoja

Mensaje por calderon »

Era exactamente ese problema, ahora funciona a la perfección. Cierro el tema y lo marco como resuelto.
Muchas gracias por tu ayuda y tu paciencia!

Un saludo!
OpenOffice 3.1 en Windows 10
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: [RESUELTO] Macro cargar datos tabla o consulta base en h

Mensaje por fornelasa »

Ok bien que bueno que ya se resolvió :super:
Te recomiendo leer este debate.
https://forum.openoffice.org/es/forum/v ... 21&t=13129
En especial lo que comenta PepeOooSevilla
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Responder