Concatenar campos en un subinforme

22/01/2013 - 08:56 por Toni | Informe spam
Buenas de nuevo,

Trabajo con Acces 2007, y sigo con mis problemillas en este caso tengo la siguiente situación:

PETICIONES TABLAPUENTE MOTIVOS
IdPeticiones - IdPeticion
IdMotivo IdMotivo
NombreMotivo

En un subinforme, necesito, para cada IdPeticiones, crear una consulta que lea todos los campos de PETICIONES y agrupe, en un campo, todos los NOMBREMOTIVO del registro. Es decir:

IdPeticiones: 57
FechaPeticion: ...
...
CampoConcatenado: "Pendiente de pago, Fuera de terminio, No cumple edad"

Cada registro así elaborado, lo mostraría en el subinforme de manera continua.

Espero haberme explicado. Muchas gracias.

Preguntas similare

Leer las respuestas

#11 Toni
13/02/2013 - 09:09 | Informe spam
Buenos dias de nuevo,

Aquí estoy con otra duda, que espero me puedas ayudar a resolver. Trabajo con Access 2007.

Tengo un informe con una consulta como origen de datos, y debo crear una función para utilizarla en esta consulta con campo calculado.

El problema que tengo es que la función devuelve tres campos, y no uno solo.

Debo crear una función para cada campo, o puedo hacerlo todo en un solo campo calculado y una sola función?

Gracias
Respuesta Responder a este mensaje
#12 José Mª Fueyo
13/02/2013 - 13:23 | Informe spam
Hola
Una función admite parámetros. En función de ellos, puedes configurar una salida u otra.

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#13 Toni
13/02/2013 - 14:58 | Informe spam
Jose Mª, gracias

A lo mejor no me expliqué bién... Tengo una tabla TITULARES, y una tabla REPRESENTANTES, relacionadas. Un titular puede o no puede tener representante.

La consulta és para crear un informe de correspondència. Debo cargar los campos Nombre, Apellidos, y dirección del representante y, si no hay representante, el nombre, apellidos y dirección del titular.

En la función, puedo discriminar con un If-Then si hay o no representante, pero mi duda reside en cómo, desde la consulta, puedo cargar estos datos. ¿Debo hacer una función y un campo calculado para cada valor, o hay alguna manera de hacerlo todo en una única función?

Gracias de nuevo.
Toni


El dimecres 13 de febrer de 2013 13:23:58 UTC+1, José Mª Fueyo va escriure:
Hola

Una función admite parámetros. En función de ellos, puedes configurar una salida u otra.



Salu2


José Mª Fueyo

[MS MVP Access]
Respuesta Responder a este mensaje
#14 José Mª Fueyo
15/02/2013 - 10:54 | Informe spam
Hola
Puedes pasar como parámetro de la función, el campo que usar para relacionar ambas tablas. Que la función devuelva un string.
Primero compruebas sí hay registro relacionado en la tabla de representantes según el ID pasado. Que existe, devuelves los datos del representante. Que no, devuelves los datos del titular.

Dentro de la consulta, creas un campo calculado con el generador de expresiones en el cual pones la función creada, y como parámetro el nombre del campo relacionado.
Espero te sirva.

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#15 Toni
15/02/2013 - 12:48 | Informe spam
Gracias, Jose Mª.

Todo esto ya lo conseguí. Tengo la función con el parametro IDTitular, que és el que relaciona las tablas, y en la función compruebo si existe el IDRepresentante en la tabla TITULARES mediante un Recordset.

A partir de ahi, mediante un If-Then, cargo en un segundo Recordset el nombre del titular, o el nombre del representante, segun los casos.

La duda que ahora se me presenta es: ¿Debo hacer una función, con todo este procedimiento, para cada uno de los campos que quiero cargar en la consulta (nombre remitente, dirección remitente, CP remitente, y ciudad remitente), o puedo hacerlo de alguna manera para que una sola función me devuelva todos los campos? Y, si es así ¿Cómo los cargo luego en la consulta?

Gracias
Toni

El divendres 15 de febrer de 2013 10:54:16 UTC+1, José Mª Fueyo va escriure:
Hola

Puedes pasar como parámetro de la función, el campo que usar para relacionar ambas tablas. Que la función devuelva un string.

Primero compruebas sí hay registro relacionado en la tabla de representantes según el ID pasado. Que existe, devuelves los datos del representante. Que no, devuelves los datos del titular.



Dentro de la consulta, creas un campo calculado con el generador de expresiones en el cual pones la función creada, y como parámetro el nombre del campo relacionado.

Espero te sirva.



Salu2


José Mª Fueyo

[MS MVP Access]
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida