[RESUELTO] Abrir una tabla de otra base de datos
[RESUELTO] Abrir una tabla de otra base de datos
Buenos días:
He estado buscando en el foro, pero no he sabido encontrar la información que busco.
Necesito abrir una tabla de otra base de datos distinta a la que estoy utilizando, pero no quiero importar dicha tabla, solamente usarla para una consulta y mostrar algunos de los datos de dicha tabla sin salir de la base de datos que estoy usando.
Saludos y gracias.
He estado buscando en el foro, pero no he sabido encontrar la información que busco.
Necesito abrir una tabla de otra base de datos distinta a la que estoy utilizando, pero no quiero importar dicha tabla, solamente usarla para una consulta y mostrar algunos de los datos de dicha tabla sin salir de la base de datos que estoy usando.
Saludos y gracias.
Última edición por pmartimor el Sab May 26, 2018 8:15 am, editado 1 vez en total.
LibreOffice 5.1.0.3 en clientes Windows 10, 7, XP sobre BD MySql.
Re: Abrir una tabla de otra base de datos
Cuestión que merecería un icono con muchos pinchos!!!
A bote pronto se podría decir que no se puede, pero estoy trabajando con importaciones de tablas, y quizá sea posible, pero........
Mejor mandas un ejemplo para tener una base sobre la que poder intentarlo (y bien digo: intentarlo).
Pudiera ser que alguien del foro te dé una respuesta sencilla y rápida, pero a mi se me antoja un proyecto un tanto denso de desarrollar (si no directamente no realizable).
Lo dicho!, manda un ejemplo y a ver qué podemos hacer!
Un saludo!
A bote pronto se podría decir que no se puede, pero estoy trabajando con importaciones de tablas, y quizá sea posible, pero........
Mejor mandas un ejemplo para tener una base sobre la que poder intentarlo (y bien digo: intentarlo).
Pudiera ser que alguien del foro te dé una respuesta sencilla y rápida, pero a mi se me antoja un proyecto un tanto denso de desarrollar (si no directamente no realizable).
Lo dicho!, manda un ejemplo y a ver qué podemos hacer!
Un saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Libreoffice 6.4.2, en Windows 10
Re: Abrir una tabla de otra base de datos
En realidad, la cuestión puede ser difícil, pero fácil de entender lo que pretendo:Longi escribió:Cuestión que merecería un icono con muchos pinchos!!!
A bote pronto se podría decir que no se puede, pero estoy trabajando con importaciones de tablas, y quizá sea posible, pero........
Mejor mandas un ejemplo para tener una base sobre la que poder intentarlo (y bien digo: intentarlo).
Pudiera ser que alguien del foro te dé una respuesta sencilla y rápida, pero a mi se me antoja un proyecto un tanto denso de desarrollar (si no directamente no realizable).
Lo dicho!, manda un ejemplo y a ver qué podemos hacer!
Un saludo!
Tengo una base de datos de 'Incidencias' en MySQL con cuatro tablas, que funciona perfectamente, por ahora...
Hay unos datos que están en otra base de datos MySQL en el mismo servidor, a la que tengo acceso, que contiene una tabla con datos delicados que NO DEBO importar, solo quiero leer una de sus tablas para mostrar una información más completa con algunos de los campos de esa tabla en la primera base de datos. Es decir, el problema está en leer esa tabla de esa segunda base de datos, coger los campos que necesito para hacer unos informes, pero NO importar la tabla (abrir la segunda base de datos desde la primera, leer una de sus tablas sin importarla, coger los campos que necesito, mostrarlos en un informe, y cerrar o salir de esa segunda base de datos). También podría importar la tabla y borrarla al salir... pero el problema seguiría siendo el acceso a esa tabla que está en otra base de datos...
Hacer un juego de datos para enviar un ejemplo, es complejo y delicado por su contenido y por el trabajo que supone... importar datos de las dos bases de datos desde MySQL a formato propio de OpenOffice, hacer un juego de datos de ejemplo para las 4 tablas de la primera base de datos, hacer un juego de datos de ejemplo para la segunda base de datos... no sé, lo intentaré, aunque no creo que eso dé más pistas que la propia explicación de lo que necesito.
Gracias y saludo.
LibreOffice 5.1.0.3 en clientes Windows 10, 7, XP sobre BD MySql.
Re: Abrir una tabla de otra base de datos
Exacto, a lo mejor es sencillo de explicar pero laborioso de hacer y parece que estamos ante un desarrollo completo por realizar.
Vamos a un ejemplo fácil, aunque tal vez no sirva para esta consulta.
Así tal cual
El ejemplo es claro, abre la base de datos "edadSueldo.odb" e inmediatamente abre el formulario "Formulario1", .... obvio dicho formulario deberá contener un control tabla y un control botón "Salir del formulario".
Vamos a un ejemplo fácil, aunque tal vez no sirva para esta consulta.
Así tal cual
Abrir una tabla de otra base de datos
Código: Seleccionar todo
Sub Main
Dim Array()
Dim Control as Object
ruta = convertToURL("C:\Users\Federico\Downloads\edadSueldo.odb")
ArchivoDoc = StarDesktop.loadComponentFromURL( ruta, "_blank", 0, Array() )
Control = ArchivoDoc.CurrentController
If Not Control.IsConnected Then Control.Connect
ArchivoDoc.FormDocuments.GetByName("Formulario1").Open
End Sub
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!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: Abrir una tabla de otra base de datos
En HSQLDB se puede conectar a la 2ª base de datos sin abrirla 'oficialmente'.
Mi intención sería trabajar desde la conexión, pero al meter MySQL por el medio no me atrevo a tocar nada.
No trabajo con MySQL
Lo siento, pero no puedo ayudar.
Investiga la opción de
fornelasa (mira que tengo manía de cambiarle el alias!), que seguro que es mucho más simple que lo que a mi se me ocurría y mucho más efectiva.
Un saludo!
Mi intención sería trabajar desde la conexión, pero al meter MySQL por el medio no me atrevo a tocar nada.
No trabajo con MySQL
Lo siento, pero no puedo ayudar.
Investiga la opción de
Editado: |
Un saludo!
Última edición por Longi el Jue May 24, 2018 9:13 pm, editado 1 vez en total.
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Libreoffice 6.4.2, en Windows 10
Re: Abrir una tabla de otra base de datos
Hola,
Prueba si esto te funciona. Se asemeja a lo de fornelasa pero abre una tabla.
Saludos
Prueba si esto te funciona. Se asemeja a lo de fornelasa pero abre una tabla.
Código: Seleccionar todo
SubAbrirTablaBD()
Dim sRuta As String
Dim mArg()
Dim oDocumento As Object
Dim sNombreT As String
Dim Control as Object
'Reemplaza esta ruta por la ruta de tú archivo
sRuta = ConvertToUrl( "E:\TAREAS.odb" )
oDocumento = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mArg() )
Control = oDocumento.CurrentController
If Not Control.IsConnected Then Control.Connect
'Nombre de la tabla
sNombreT = "TBL_Alumnos"
Control.loadComponent(com.sun.star.sdb.application.DatabaseObject.TABLE, sNombreT,FALSE
End Sub
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)
Re: Abrir una tabla de otra base de datos
OK. Muchas Gracias. Esto sí funciona.RMG escribió:Hola,
Prueba si esto te funciona. Se asemeja a lo de fornelasa pero abre una tabla.
SaludosCódigo: Seleccionar todo
SubAbrirTablaBD() Dim sRuta As String Dim mArg() Dim oDocumento As Object Dim sNombreT As String Dim Control as Object 'Reemplaza esta ruta por la ruta de tú archivo sRuta = ConvertToUrl( "E:\TAREAS.odb" ) oDocumento = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mArg() ) Control = oDocumento.CurrentController If Not Control.IsConnected Then Control.Connect 'Nombre de la tabla sNombreT = "TBL_Alumnos" Control.loadComponent(com.sun.star.sdb.application.DatabaseObject.TABLE, sNombreT,FALSE End Sub
LibreOffice 5.1.0.3 en clientes Windows 10, 7, XP sobre BD MySql.