Duda de Crystal Report

Tengo una consulta que hacerte sobre Crystal Report.
Estoy haciendo un programa en Visual Basic 6.0 y tengo un informe en Crystal Report 8 que muestra una serie de campos de una base de datos de Access; hasta aquí no hay mayor problema, ahora bien, en uno de esos campos tengo una ruta de una imagen, y como se trata de un campo de tipo texto veo correctamente las rutas en mi informe.
Lo que me gustaría es que en vez de ver esa ruta literalmente (es decir, el texto 'C:\Archivos\Programa\Imagen1.jpg'), que físicamente se me mostrase la imagen en los registros. Cada registro tiene una imagen distinta, por lo que esa imagen tiene que ir cambiando a medida que se van leyendo los registros. Lo que he intentado es meter un objeto OLE y que por código se cargue la imagen correspondiente a la ruta que hay en campo "Ruta", pero no se muy bien qué código poner ni dónde y no hay forma de hacerlo y no se qué más probar.

3 respuestas

Respuesta
1
El problema es sencillo, lo único que tienes que hacer es crearte una tabla temporal igual a la que tienes pero en vex del campo con la ruta del gráfico, pon un campo tipo OLE. Luego antes de imprimir lo que tienes que hacer es ir añadiendo registro a registro, pero con una particularidad, cargando ese gráfico en un picture y guardándolo en la base de datos temporal. Luego en el informe lees de la tabla temporal e insertas el objeto OLE. Yo al principio añadía en la tabla directamente el gráfico, pero al ir aumentando los registro la BD se ponía en 500 Mb, en unos de los foros me comentaron que tienendo los gráficos en un directorio y la ruta en la BD, no aumenta la BD (solo lo normal), y como luego al terminar la Impresión borras la tabla Temporal, pues no te ocupa nada. Abajo te adjunto una dirección para ver como se grabar en la BD de datos un gráfico, si tienes alguna duda me envías un e-mail a [email protected] y te envío algún ejemplo que tenga.
Saludos,
David GM
Dirección para cargar los gráficos:
http://guille.costasol.net/ejemplos/bases_imagenes.htm
Respuesta
1
Bueno en primer lugar decirte que no estoy familiarizado con las versiones que tu estás utilizando, yo utilizo VB 5 y Crytal Report 4.6, pero me imagino que para tu problema no importe. En la base de datos de Acess el campo donde va la imagen debe de ser Objeto Ole y debes colocar en el formulario de VB un objeto Image que enlazarás con la base de datos mediante las propiedades DataSource y DataField, y ahora viene lo más importante, debes cargar la imagen que vas a guardar en la base de datos con una instrucción como la siguiente: Image1. Picture = LoadPicture(Nombre del archivo de imagen). Lógicamente Image1 debes de sustituirlo por el nombre del control Image y el nombre del archivo debe incluir el phat.
Creo que así puede funcionarte, si no es así, házmelo saber.
Un saludo: Antonio.
Muchas gracias. En mi caso no puedo tener la imagen en la base de datos ya que me queda una base de datos de 400 Mb y me da mucha guerra, por lo que tengo que tener las imágenes fuera y únicamente puedo almacenar el path en la base de datos. ¿Se te ocurre otra cosa?.
Respuesta
1
Viejo mi nivel no es tan alto en cristal lo siento no puedo ayudarte esta ves ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas