[REAbierto]Exportar una Consulta desde OODB a txt.

Discute sobre las herramientas de la base de datos
Responder
kecho
Mensajes: 9
Registrado: Mié Ene 04, 2017 5:44 pm

[REAbierto]Exportar una Consulta desde OODB a txt.

Mensaje por kecho »

Hola a todos.

Soy nuevo en esto y no tengo conocimiento en programación:

Lo que estoy necesitando es una Macro (o alguna forma) que me exporte una Consulta a un archivo txt y que las separaciones entre campos sea con un pipe (|)

Busque en el foro y encontré un montón de códigos para Calc y Write, los pocos que encontré para Openoffice Base de Datos no me funcionaron, tiraron error o directamente no logre hacerlo andar.

Creo un post nuevo porque mi caso es distintos a los otros, por eso no lo pude hacer andar.

Cualquier dato que necesiten o prueba que necesitan que haga para resolver mi problema, estoy aquí atento.

Muchas gracias de antemano.

Kecho.
Última edición por kecho el Vie Mar 10, 2017 6:52 pm, editado 3 veces en total.
OpenOffice 4.1.3 en Windows 10
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por FJCC-ES »

Puede exportar los datos que devuelve una consulta con un comando de SQL ejecutado desde el menú Herramientas → SQL.
Para cambiar el separador de campos a |, ejecute este comando

Código: Seleccionar todo

SET PROPERTY "textdb.fs" '|'
El cambio del separador de campos permanecerá hasta el próximo uso de SET PROPERTY.

Si la consulta es

Código: Seleccionar todo

SELECT * FROM "FakeData" WHERE "Ser_Num" = 'AXAA'
se puede exportar a un archivo Export.csv en la carpeta que contiene el archivo de Base con

Código: Seleccionar todo

SELECT * INTO TEXT "Export" FROM (SELECT * FROM "FakeData" WHERE "Ser_Num" = 'AXAA');
Esto crea una tabla en la base de datos con el nombre Export. Puede eliminar la tabla y dejar el archivo en la carpeta con

Código: Seleccionar todo

DROP TABLE "Export";
Si quiere eliminar la tabla inmediatamente, puede combinar los dos comandos.

Código: Seleccionar todo

SELECT * INTO TEXT "Export" FROM (SELECT * FROM "FakeData" WHERE "Ser_Num" = 'AXAA');
DROP TABLE "Export";
kecho
Mensajes: 9
Registrado: Mié Ene 04, 2017 5:44 pm

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por kecho »

Muchas gracias por la respuesta FJCC-ES, hoy lo pruebo.

EDITO:

Amigo eres un verdadero Genio, casi se acerca a la perfección que necesito:

Este es el comando que puse basado en lo que vos pusiste:

Código: Seleccionar todo

SET PROPERTY "textdb.fs" '|'
SELECT * INTO TEXT "999998_ds.txt" FROM (SELECT "Tipo_de_arch", "Cod_Obra_Social", "CUIL", "Cod_del_Certif", "Venc_del_Certif", "Periodo_Prestacion" FROM "Subsidios");
DROP TABLE "999998_ds.txt";
Ahora cuando yo lo ejecuto el archivo que me devuelve es _999998_ds_txt.cvs y yo necesitaría que me quede 999998_ds.txt

Y por otro lado, necesitaría en un formulario crear un botón para ejecutar esto, calculo que lo correcto es grabar un Macro ejecutando el comando, nunca lo hice, me podrías decir por favor si es esto correcto o no?

Muchas gracias de antemano.

Kecho.
OpenOffice 4.1.3 en Windows 10
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por FJCC-ES »

Nunca he usado macros en Base. Escribí esta y funciona con mi base de datos.

Código: Seleccionar todo

oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDB = oBaseContext.getByName("DB_SQL_Class") 'DB_SQL_Class es el nombre del archivo de Base
oCon = oDB.getConnection("", "") 'getConnection("usuario", "contrasena")
oSQL = oCon.createStatement()
res = oSQL.executeQuery("SELECT * INTO TEXT ""99Export"" FROM (SELECT * FROM ""FakeData"" WHERE ""Ser_Num"" = 'AXAA');DROP TABLE ""99Export"";"
oCon.close()

NAME "C:\Users\fjcc\Documents\_9export.csv" AS "C:\Users\fjcc\Documents\99Export.txt"
No encontré la manera de cambiar el nombre del archivo que produce HSQLDB así que incluí una línea de código que cambie el nombre “manualmente”.
kecho
Mensajes: 9
Registrado: Mié Ene 04, 2017 5:44 pm

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por kecho »

Muchas gracias por tu rápida respuesta, veníamos demasiado bien, ahora si que no entiendo ejjejeje.

Este código que me pasas lo edite con mi código anterior pero no se donde ponerlo, en ejecución SQL me tira error en el comando NAME, como consulta SQL me dice que esta mal la sintaxis pero no me dice que parte, también genere un macro con el código y me tira error en la Sintaxis, te paso el código que use:

Código: Seleccionar todo

Sub Main
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDB = oBaseContext.getByName("Integracion.odb") 'DB_SQL_Class es el nombre del archivo de Base
oCon = oDB.getConnection("", "") 'getConnection("usuario", "contrasena")
oSQL = oCon.createStatement()
res = oSQL.executeQuery("SET PROPERTY "textdb.fs" '|'
SELECT * INTO TEXT "999998_ds.txt" FROM (SELECT "Tipo_de_arch", "Cod_Obra_Social", "CUIL", "Cod_del_Certif", "Venc_del_Certif", "Periodo_Prestacion" FROM "Subsidios");
DROP TABLE "999998_ds.txt";"
oCon.close()

NAME "C:\Users\kecho\Desktop\_99998_ds_txt" AS "C:\Users\kecho\Desktop\999998_ds.txt"
End Sub
El error me lo tira marcando esto:

Código: Seleccionar todo

oSQL.executeQuery("SET PROPERTY "
OpenOffice 4.1.3 en Windows 10
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por FJCC-ES »

El comando SET PROPERTY “textdb.fs” ‘|’ cambia una propiedad de la base de datos y es suficiente ejecutarlo una vez desde el menú Herrameintas → SQL. No es necesario incluirlo en la macro.

Creo que en la linea

Código: Seleccionar todo

NAME "C:\Users\kecho\Desktop\_99998_ds_txt" AS "C:\Users\kecho\Desktop\999998_ds.txt" 
el nombre original del archivo debe ser C:\Users\kecho\Desktop\_99998_ds_txt.csv

Dentro de la consulta que se pasa a executeQuery() es necesario escribir las comillas dos veces en cada lugar. Por ejemplo, escriba ""Tipo_de_arch"" y no "Tipo_de_arch".

Mi versión de su código:

Código: Seleccionar todo

Sub Main
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDB = oBaseContext.getByName("Integracion.odb") 'DB_SQL_Class es el nombre del archivo de Base
oCon = oDB.getConnection("", "") 'getConnection("usuario", "contrasena")
oSQL = oCon.createStatement()
res = oSQL.executeQuery("SELECT * INTO TEXT ""999998_ds.txt"" FROM (SELECT ""Tipo_de_arch"", ""Cod_Obra_Social"", ""CUIL"", ""Cod_del_Certif"", ""Venc_del_Certif"", ""Periodo_Prestacion"" FROM ""Subsidios"");
DROP TABLE ""999998_ds.txt"";"
oCon.close()

NAME "C:\Users\kecho\Desktop\_99998_ds_txt.csv" AS "C:\Users\kecho\Desktop\999998_ds.txt"
End Sub 
Guarde el código en Herramientas → Macros → Organizar macros → OpenOffice Basic → Mis macros → Standard.
Puede ejecutar la macro desde la ventana de OpenOffice Basic pulsando el botón verde que resalté en la imagen.
Macro.JPG
Macro.JPG (51.97 KiB) Visto 4156 veces
kecho
Mensajes: 9
Registrado: Mié Ene 04, 2017 5:44 pm

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por kecho »

Me tira este error:
error3.jpg
EDITO: Le puse una comilla despues del ultimo ";" donde dice:

Código: Seleccionar todo

res = oSQL.executeQuery("SELECT * INTO TEXT ""999998_ds.txt"" FROM (SELECT ""Tipo_de_arch"", ""Cod_Obra_Social"", ""CUIL"", ""Cod_del_Certif"", ""Venc_del_Certif"", ""Periodo_Prestacion"" FROM ""Subsidios"");"
Y ahora me tira error en TABLE, me dice que se esperaba una coma. Obiamente le puse una coma despues de esa palabra y me tira el mismo error un poco mas adelante, a lo que me imagino que la primera coma no iba.

EDITO 2: Le puse una comilla delante de la palabra TABLE y como que paso al siguiente error.
Ahora me marca esto como error:

Código: Seleccionar todo

oDB = oBaseContext.getByName("Integracion.odb") 'DB_SQL_Class es el nombre del archivo de Base
Y me tira el siguiente cartel:
error4.jpg
error4.jpg (22.01 KiB) Visto 4148 veces
Seguramente estoy haciendo cualquiera porque no se, pero voy probando, es codigo con los 2 cambios que hice me quedo asi:

Código: Seleccionar todo

Sub Main
    oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
    oDB = oBaseContext.getByName("Integracion.odb") 'DB_SQL_Class es el nombre del archivo de Base
    oCon = oDB.getConnection("", "") 'getConnection("usuario", "contrasena")
    oSQL = oCon.createStatement()
    res = oSQL.executeQuery("SELECT * INTO TEXT ""999998_ds.txt"" FROM (SELECT ""Tipo_de_arch"", ""Cod_Obra_Social"", ""CUIL"", ""Cod_del_Certif"", ""Venc_del_Certif"", ""Periodo_Prestacion"" FROM ""Subsidios"");"
    DROP "TABLE ""999998_ds.txt"";"
    oCon.close()

    NAME "C:\Users\kecho\Desktop\_99998_ds_txt.csv" AS "C:\Users\kecho\Desktop\999998_ds.txt"
    End Sub 
Volviendo a lo que me corregiste primero y que lógicamente tenias mucha razón, pero me sigue dando error:
error5.jpg
OpenOffice 4.1.3 en Windows 10
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por FJCC-ES »

La consulta ocupa dos lineas y Basic no ve la comilla después de DROP TABLE ""999998_ds.txt"";
En esta versión guardé la consulta en cuatro variables.

Código: Seleccionar todo

Sub Main
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDB = oBaseContext.getByName("Integracion") 'En mi código, no use el .odb en el nombre del archivo
oCon = oDB.getConnection("", "") 'getConnection("usuario", "contrasena")
oSQL = oCon.createStatement()
Consulta1 = "SELECT * INTO TEXT ""999998_ds.txt"" FROM"
Consulta2 = " (SELECT ""Tipo_de_arch"", ""Cod_Obra_Social"", ""CUIL"", ""Cod_del_Certif"", ""Venc_del_Certif"", ""Periodo_Prestacion"""
Consulta3 = " FROM ""Subsidios"");" 
Consulta4 = " DROP TABLE ""999998_ds.txt"";"
res = oSQL.executeQuery(Consulta1 & Consulta2 & Consulta3 & Consulta4)
oCon.close()

NAME "C:\Users\kecho\Desktop\_99998_ds_txt.csv" AS "C:\Users\kecho\Desktop\999998_ds.txt"
End Sub
 Editado: NAME es una función de BASIC, no de SQL. No se puede usar esa parte del código en Herramientas → SQL 
kecho
Mensajes: 9
Registrado: Mié Ene 04, 2017 5:44 pm

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por kecho »

Muchas gracias por volver a contestarme.

Hice el cambio con el nuevo codigo y me marca el error en:

Código: Seleccionar todo

oDB = oBaseContext.getByName("Integracion") 'En mi código, no use el .odb en el nombre del archivo
El error que me tira es este:

Imagen

La única diferencia es que donde dice Integracion.odb dice Integracion solo.
OpenOffice 4.1.3 en Windows 10
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por FJCC-ES »

¿Que pasa si usa Integracion.odb en esa linea?
kecho
Mensajes: 9
Registrado: Mié Ene 04, 2017 5:44 pm

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por kecho »

Hice esa prueba y me da el cartel que puse arriba, donde dice Integracion.odb

EDITO: Tambien probe esto:

Código: Seleccionar todo

oDB = oBaseContext.getByName("C:\Users\kecho\Desktop\Integracion.odb") 'En mi código, no use el .odb en el nombre del archivo
Pero lo unico que logre que sea mas largo el mismo error

EDITO 2: Subo el archivo para que lo veas mejor
Integracion.rar
(58.38 KiB) Descargado 109 veces
OpenOffice 4.1.3 en Windows 10
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por FJCC-ES »

No puede usar el nombre del archivo en la función oBaseContext.getByName() porque la base de datos no esta registrado. Esta versión del código usa el URL del archivo. Guardé el código en el documento en el módulo Exportar_a_txt.

Código: Seleccionar todo

Sub Main
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
'URL = convertToURL("C:\Users\fjcc\Desktop\Integracion.odb")
URL = convertToURL("C:\Users\kecho\Desktop\Integracion.odb")
'oDB = oBaseContext.getByName("Integracion.odb") 'DB_SQL_Class es el nombre del archivo de Base
oDB = oBaseContext.getByName(URL)
oCon = oDB.getConnection("", "") 'getConnection("usuario", "contrasena")
oSQL = oCon.createStatement()
res = oSQL.executeQuery("SELECT * INTO TEXT ""999998_ds.txt"" FROM (SELECT ""Tipo_de_arch"", ""Cod_Obra_Social"", ""CUIL"", ""Cod_del_Certif"", ""Venc_del_Certif"", ""Periodo_Prestacion"" FROM ""Subsidios""); DROP TABLE ""999998_ds.txt"";"
oCon.close()
'NAME "C:\Users\fjcc\Desktop\_99998_ds_txt.csv" AS "C:\Users\fjcc\Desktop\999998_ds.txt"
NAME "C:\Users\kecho\Desktop\_99998_ds_txt.csv" AS "C:\Users\kecho\Desktop\999998_ds.txt"
End Sub
Adjuntos
Integracion.zip
(58.2 KiB) Descargado 111 veces
kecho
Mensajes: 9
Registrado: Mié Ene 04, 2017 5:44 pm

Re: Exportar una Consulta desde OODB a txt separado por "|"

Mensaje por kecho »

FJCC-ES eres un genio absoluto!!!!
Voy a sacar la foto de Mascherano que tengo en la pieza y voy a poner la tuya ahí jejejeje :bravo: :bravo: :bravo:
funciono a la perfección, ahora solo queda seguir trabajándolo porque me falta configurarle bien las consultas que en realidad necesito, pero lo mas difícil que tenia era esto.
Estoy mas que agradecido contigo.
:super: :super: :super:

EDITO: Me acabo de dar cuenta que hay algo que esta mal, me esta tomando una tabla y no una consulta, pero para que veas que soy buen alumno y que aprendo rápidamente lo solucione yo sólito :ouch:

Acá paso el código donde saca la info de la Consulta1:

Código: Seleccionar todo

Sub Main
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
'URL = convertToURL("C:\Users\fjcc\Desktop\Integracion.odb")
URL = convertToURL("C:\Integracion\Integracion.odb")
'oDB = oBaseContext.getByName("Integracion.odb") 'DB_SQL_Class es el nombre del archivo de Base
oDB = oBaseContext.getByName(URL)
oCon = oDB.getConnection("", "") 'getConnection("usuario", "contrasena")
oSQL = oCon.createStatement()
'res = oSQL.executeQuery("SELECT * INTO TEXT ""999998_ds.txt"" FROM (SELECT ""Tipo_de_arch"", ""Cod_Obra_Social"", ""CUIL"", ""Cod_del_Certif"", ""Venc_del_Certif"", ""Periodo_Prestacion"" FROM ""Subsidios""); DROP TABLE ""999998_ds.txt"";"
res = oSQL.executeQuery("SELECT * INTO TEXT ""999998_ds.txt"" FROM (SELECT ""Subsidios"".""Tipo_de_arch"", ""Subsidios"".""Cod_Obra_Social"", ""Personas"".""CUIL"", ""Personas"".""Cod_del_Certif"", ""Personas"".""Venc_del_Certif"", ""Subsidios"".""Periodo_Prestacion"" FROM ""Personas"", ""Subsidios""); DROP TABLE ""999998_ds.txt"";"
oCon.close()
'NAME "C:\Users\fjcc\Desktop\_99998_ds_txt.csv" AS "C:\Users\fjcc\Desktop\999998_ds.txt"
NAME "C:\Integracion\_99998_ds_txt.csv" AS "C:\Integracion\999998_ds.txt"
End Sub
Otra cosa que le arregle es que cambie la ubicación del escritorio por una carpeta en el C: así lo puedo poner en cualquier PC sin tener que editar todo :D .

EDITO2: Me acabo de dar cuenta que en realidad el código hace la Consulta, no necesito tener una consulta creada, igual me sirve crear la consulta para luego copiar el código e insertarlo en el que vos hiciste, y así el mismo código hace la consulta por mas que no haya una consulta creada.
Perdón por ser una pesadilla que no entiende nada, pero voy aprendiendo de a poco :super:
OpenOffice 4.1.3 en Windows 10
kecho
Mensajes: 9
Registrado: Mié Ene 04, 2017 5:44 pm

Re: [REAbierto]Exportar una Consulta desde OODB a txt.

Mensaje por kecho »

Vuelvo a Re-Abrir otra vez este tema porque me fallaron un par de cosas.

Primero, no me respeta el formato que tengo en la tabla, por ejemplo:

La consulta me tira esta linea:

Código: Seleccionar todo

DS	200400	19252365472			201612	25568686332	07	E	11/10/2016  21354651313121	0023	00004551	00005161,00	00005156,00	015	000015	16	S
Y en el Archivo me figura asi:

Código: Seleccionar todo

DS|200400|19252365472|||201612|25568686332|7|E|2016-10-11|21354651313121|23|4551|5161|5156|15|15|16|true
No me respetó los 0 ni los formatos de las fechas.

Por otro lado necesito que pueda especificarle desde cuando a cuando de una tabla de fecha me tire el listado.

Desde una consulta lo puedo hacer lo mas bien:

Código: Seleccionar todo

SELECT "Tipo_de_arch", "Cod_Obra_Social", "CUIL", "Cod_del_Certif", "Venc_del_Certif", "Periodo_Prestacion", "CUIT_Prestador", "Tipo_Comprobante", "Tipo_de_emision", "Fecha_Emision_Comp", "Num_Cae_Cai", "Puntos_de_Venta", "Num_de_Comprob", "Imp_del_Comprob", "Imp_Solicitado", "Cod_de_Practica", "Cantidad", "Provincia", "Dependencia" FROM "Subsidios" WHERE "fecha_de_carga" >= :Desde AND "fecha_de_carga" <= :Hasta
Pero no me funciona si lo hago en la macro, lo que me falla es:

Código: Seleccionar todo

WHERE "fecha_de_carga" >= :Desde AND "fecha_de_carga" <= :Hasta
Sin este parte el código anda bien:

Código: Seleccionar todo

Sub Main
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
'URL = convertToURL("C:\Users\fjcc\Desktop\Integracion.odb")
URL = convertToURL("C:\Integracion\Integracion.odb")
'oDB = oBaseContext.getByName("Integracion.odb") 'DB_SQL_Class es el nombre del archivo de Base
oDB = oBaseContext.getByName(URL)
oCon = oDB.getConnection("", "") 'getConnection("usuario", "contrasena")
oSQL = oCon.createStatement()
'res = oSQL.executeQuery("SELECT * INTO TEXT ""999998_ds.txt"" FROM (SELECT ""Tipo_de_arch"", ""Cod_Obra_Social"", ""CUIL"", ""Cod_del_Certif"", ""Venc_del_Certif"", ""Periodo_Prestacion"" FROM ""Subsidios""); DROP TABLE ""999998_ds.txt"";"
res = oSQL.executeQuery("SELECT * INTO TEXT ""999998_ds.txt"" FROM (SELECT ""Tipo_de_arch"", ""Cod_Obra_Social"", ""CUIL"", ""Cod_del_Certif"", ""Venc_del_Certif"", ""Periodo_Prestacion"", ""CUIT_Prestador"", ""Tipo_Comprobante"", ""Tipo_de_emision"", ""Fecha_Emision_Comp"", ""Num_Cae_Cai"", ""Puntos_de_Venta"", ""Num_de_Comprob"", ""Imp_del_Comprob"", ""Imp_Solicitado"", ""Cod_de_Practica"", ""Cantidad"", ""Provincia"", ""Dependencia"" FROM ""Subsidios""); DROP TABLE ""999998_ds.txt"";"
oCon.close()
'NAME "C:\Users\fjcc\Desktop\_99998_ds_txt.csv" AS "C:\Users\fjcc\Desktop\999998_ds.txt"
NAME "C:\Integracion\_99998_ds_txt.csv" AS "C:\Integracion\999998_ds.txt"
End Sub
OpenOffice 4.1.3 en Windows 10
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: [REAbierto]Exportar una Consulta desde OODB a txt.

Mensaje por FJCC-ES »

No sé como ejecutar directamente desde una macro una consulta que incluye parámetros como :Desde y :Hasta. Los archivos adjuntos muestran una solución. La consulta Desde_Hasta en el archivo Integracion.odb está vinculada con el rango de datos Import1 en el archivo Consulta_a_CSV.ods. Puede ver el rango Import1 con el menú Datos → Seleccionar Rango. La macro CSVwrite en Integracion.odb abre Consulta_a_CSV.ods, ejecuta la consulta y guarda el resultado en el archivo 99Export.txt.
¿Es la solución aceptable?
Adjuntos
Integracion.zip
(65.7 KiB) Descargado 133 veces
kecho
Mensajes: 9
Registrado: Mié Ene 04, 2017 5:44 pm

Re: [REAbierto]Exportar una Consulta desde OODB a txt.

Mensaje por kecho »

Hola FJCC-ES muchas gracias por volver a ayudarme.

Eh probado todo el día la base de datos que has subido y no logre hacer nada, primeramente no pude hacer que la consulta Desde_Hasta ingrese el resultado en el Archivo Consulta_a_CSV.ods.
Segui tus pasos, hago la consulta, voy al archivo y Selecciono el Rango Import1 y no pasa nada, se abre el ODS se selecciona el primer rango de la misma y hace el archivo txt, pero siempre con los mismos datos, osea si yo borra los datos del mismo archivo (ODS) y ejecuto la consulta, el macro CSWritre que me tira error pero no me marca donde (Error al acceder a la fuente de datos 'Integracion': com.sun.star.container.NoSuchElementException: Integracion), y Selecciono el rango y el archivo TXT aparece vacio.
Lo bueno que he probado darle forma a los datos en el archivo ODS y cuando lo paso a TXT me lo respeta. Solo tengo que hacer que la consulta que yo haga vaya a parar a ese archivo.

EDITO: No encontré como hiciste la vinculación entre la consulta y el archivo ODS por medio de Import1.
OpenOffice 4.1.3 en Windows 10
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: [REAbierto]Exportar una Consulta desde OODB a txt.

Mensaje por FJCC-ES »

Creo que el vinculo entre la base de datos y el archivo de Calc no existe. Sugiero:
1. Cambie la consulta Desde_Hasta para que no usa los parámetros Desde y :Hasta. Esto es necesario para implementar el vinculo. Después puede restablecer los parámetros.
2. Registre la base de datos en el menú Herramientas → Opciones → OpenOffice Base → Bases de datos.
Guarde y cierre el archivo Integracion.odb.
BasesDeDatos.JPG
3. Elimine el archivo Consulta_a_CSV.ods
4. Cree un documento de Calc y seleccione el menú Ver → Fuentes De Datos.
5. Arrastre la consulta Desde_Hasta a la celda A1. El resultado de la consulta aparecerá en la hoja. Guarde y cierre el archivo. (Nombre = Consulta_a_CSV.ods. )
FuentesDeDatos.JPG
6. Ahora puede restablecer los parámetros en la consulta.
La macro CSVwrite ya debe funcionar.
Responder