Mostrar información de Listbox en Informe

Tengo un problema con un reporte que exporto a PDF. El reporte es la ficha personal de contactos en la database. Esta información se plasma en un formulario que toma la información de varias consultas; el formulario tiene varios textboxes y un listbox que muestra las diversas actividades a los que ha asistido en contacto en cuestión. Aun cuando todos los textboxes pueden cambiar mínimamente la información en ellos, las actividades a las que asisten si crecen con el tiempo, y de ahí la necesidad de mostrar estos en un listbox. El problema aquí es que yo hago un reporte con esta información y la exporto a PDF. Toda la información se exporta sin problema menos la información del listbox. He leído por ahí que un listbox en un reporte no es lo más indicado; ¿Cuál sería la mejor manera entonces? He probado con el listbox en el reporte usando una consulta como fuente pero no me da solo el primer dato de la consulta. Probé usando una etiqueta, en vez del listbox, y cambiando el caption, también sin éxito. ¿Alguna ayuda?

1 Respuesta

Respuesta
2

Si el listbox lo rellenas a partir de una consulta o una tabla, puedes insertar en tu informe esa consulta como subinforme.

Otra opción, sería usar un textbox en el que vas cargando los distintos valores separados por un salto de carro, para que te quede lo más parecido a un listbox. Esto ya lo tendrías que hacer por código VBA.

Sveinbjorn, gracias por tu ayuda. No he probado la opción de un subinforme, pero la del textbox le voy a dar una ojeada. Supongo que para esto el código lo debo colocar al cargar o abrir el informe; lo que no estoy seguro es de como llamar a cada línea del listbox (este tiene una sola columna). ¿Alguna sugerencia? Gracias mil!

Para hacer lo del textbox, una idea es crear un recordset que te recoja todas las actividades de cada persona, recorrer el recordset e ir almacenándolas en una variable de texto con el salto de linea, por ejemplo: alTexto=elTexto & rst("Actividad") & vbcrlf

Al finalizar el recorrido, traspasa el valor de la variable al cuadro de texto y listo!

El código lo has de poner en el evento "Al dar formato" de la sección detalle, y el informe lo tienes que abrir en Vista Preliminar, para ver las actividades. Si lo Abres en Vista Informes o Vista Presentación, verás el cuadro de texto en blanco.

Eso no pasa si optas por al opción del subformulario.

Te he preparado un mini-ejemplo muy básico, para que veas las dos opciones: http://www.filebig.net/files/tbXMAmiQhb

Hay tres tablas, TNombres, con las personas, TActividades, con los distintos cursos, y TAsistencia, que simplemente relaciona las dos anteriores, para poder asignar a cada actividad los asistentes. Luego hay una consulta para ver los asistentes a cada actividad, que será la que se usa como base para el subinforme y para el código del textbox. Para acabar, hay dos informes que te muestran las dos opciones que te proponía.

¡Gracias!  Tienes razón la opción usando subinforme es más limpia. La incorpore y funciona muy bien.  Muchas gracias por el soporte. Un abrazo!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas