We will be migrating from Ask to Discourse on the first week of August, read the details here

Haz tu Pregunta
0

Campo condicionado en Writer respecto a una Base de datos en Base

preguntado 2021-06-21 12:14:58 +0200

Imagen Gravatar de salvi992

Hola, me llamo Salvador.

Entre otras cosas que estoy preguntando estos días, me ha surgido otro problema.

Necesito hacer una fusión de documento (Writer) con campos cuya fuente es una base de datos (Base). En la fusión no siempre se utilizan los mismos valores. En mi caso son infracciones que están relacionadas con leyes. Pero hay veces que la infracción no viene en la ley relacionada con el asunto que sea, si no que está referenciada en otra ley. Yo había puesto en la base de datos unos campos (NormaSecundaria) y no tengo problemas, pero a la hora de fusionar sí porque trato de poner un campo condicionado y no puedo. Lo más parecido es el texto condicionado en el que sé poner la condición pero el resultado debe ser texto y no otro campo.

Ejemplo (ficticio): Ley Tributaria en la que en el articulado dice: las infracciones a esta ley están especificadas en la Ley de Hacienda.

Yo quiero que si el campo de la ley, digamos principal, está vacío (BaseDatos.Tabla.CampoLeyPrincipal EQ "") coja el valor del campo de la ley secundaria.

No sé si me explico y no sé si se podría hacer de alguna forma.

Saludos. Salvador.

edit re-etiquetar marcar como ofensivo cerrar fusionar delete

Comments

Echa un vistazo en Aoo forum - Base. Tal vez listando sobre una consulta en la que resuelvas la condición te pueda ayudar.

Imagen Gravatar de m.a.riosv m.a.riosv ( 2021-06-21 12:21:47 +0200 )edit

Lo más práctico es lo que m.a.riosv te sugiere, es decir, en la base haces una consulta donde trabajas la condición, de tal manera que en el campo elegido muestre lo que necesitas. Después usas la consulta como fuente de datos, en vez de usar la tabla directamente. Un saludo!

Imagen Gravatar de Longi Longi ( 2021-06-21 15:32:48 +0200 )edit

Hola. Muchas gracias, , m. a. riosv

Esto es lo más parecido que he encontrado.

https://forum.openoffice.org/es/forum...

Voy a probar y ya cuento cómo me ha ido.

Saludos. Salvador.

Imagen Gravatar de salvi992 salvi992 ( 2021-06-21 16:47:54 +0200 )edit

2 Respuestas

Ordenar por » viejos nuevas más votado
0

respondido 2021-06-21 18:54:46 +0200

Imagen Gravatar de salvi992

updated 2021-06-22 00:18:41 +0200

Esto es lo que yo he conseguido. (Mirad los archivos). He hecho un ejemplo pequeño.

Funciona bien con las tablas (Aunque queda un poco feo) Parece que no funciona en absoluto con la consulta.

¿Cómo lo haríais vosotros? ¿Lo podéis retocar?

C:\fakepath\fusioncita.odb

C:\fakepath\fusioncitamia.odt

NUEVA EDICIÓN:

C:\fakepath\fusioncitamia.odt

No puedo subir un pdf que le he llamado resultado.pdf. Voy a poner en formato texto la plantilla, a ver si ayuda.

Nota: No me ha dejado subir el PDF de resultado. Lo había impreso virtualmente en un archivo PDF. Así que lo he impreso como un documento normal de LibreOffice:

C:\fakepath\fusioncitamia-resultado.odt

Como se puede ver, el renglón quinto (el que utiliza el campo <campoausar> se queda vacío ...

Saludos. Salvador.

He preferido no esperar a mañana para hacerlo, y efectivamente, era un problema de fallo de refresco a la hora de tomar las fuentes de datos. Incluso he tenido que hacerlo varias veces. Ya funciona.

Os paso lo definitivo.

C:\fakepath\fusioncitamia.odt

C:\fakepath\fusioncitamia-resultado2.odt

C:\fakepath\fusioncita.odb

Yo lo doy por resuelto, aunque tengo que revisar la cláusula Casewhen, que no tenía ni idea de que existía.

Saludos y muchas gracias. Salvador.

edit marcar como ofensivo delete enlace mas
0

respondido 2021-06-21 19:58:49 +0200

Imagen Gravatar de Longi

updated 2021-06-21 22:50:51 +0200

He modificado la consulta, ya que en un principio la consulta que tenías era lo mismo que la tabla, mientras que tenía que hacer los cálculos que necesitabas. Al campo que varía le he llamado 'CampoAUsar'. Combina el documento con los campos con origen en la consulta. Debiera funcionar sin más problemas.

Un saludo! C:\fakepath\16242943445852041.odb

Edición: En el menú Ver del Writer ve a 'Orígenes de datos' y te saldrá en la parte superior un acceso a las bases de datos registradas, entre las cuales tendrás la que usas para el origen de datos, y en ella tendrías la consulta llamada 'ConsultaPersona', y a la derecha te sale una tabla (como que fuese de calc) con los resultados de la consulta. Elimina los campos que tienes añadidos en el Writer (vamos a hacer limpieza), y ahora vas a la cabecera del campo que necesites para el texto (ID Persona) en la primera fila de texto, pinchas y arrastras hasta la posición del texto donde lo quieres poner, y repite el proceso con el resto de campos. Así habrás colocado los campos que necesitas de la fuente que necesitas. Al recorrer los registros irán cambiando los campos en el texto. Además, si vas al menú Ver, puedes desmarcar la opción 'Marcar campos' con lo que te desaparece ese gris que supongo que es lo que dices que te resulta algo desagradable. Otro saludo!

edit marcar como ofensivo delete enlace mas

Comments

Pues desgraciadamente, no sale bien. Tengo que reconocer que no conocía la cláusula Casewhen. Pero no sale.

Imagen Gravatar de salvi992 salvi992 ( 2021-06-21 21:12:03 +0200 )edit

Todo eso ya estaba hecho. De todas formas, lo revisaré mañana ya. ¡¡¡ Muchas gracias !!!

Imagen Gravatar de salvi992 salvi992 ( 2021-06-21 23:11:52 +0200 )edit
Ingresa/Regístrate para Contestar

Herramientas de Preguntas

1 seguidor

Estadisticas

Preguntado: 2021-06-21 12:14:58 +0200

Visto: 32 veces

Ultima actualización: Jun 22