Insertar imagen en informe access mediante ruta

Necesito insertar una imagen (jpg) escaneada en un informe de access según el valor de un campo del mismo informe llamado "Id_Mascota". Los pdf los tengo almacenados con el nombre de archivo 1.jpg, 2.jpg, ect. (coincidiendo con el valor del campo "Id_Mascota") en la siguiente ruta "c:\INFORMACION\Pedigree\imagenes".

Lo he intentado con varios códigos pero no me funciona con ninguno.

Este es el que estoy utilizado para el formulario

Private Sub Form_Current()
On Error GoTo err_form_current
Imagen17.Picture = "c:\INFORMACION\Pedigree\imagenes\" & Id & ".jpg"
exit_form_current:
Exit Sub
err_form_current:
If Err = 2220 Then
Imagen17.Picture = "c:\INFORMACION\Pedigree\imagenes\NO_FOTO.jpg"
Resume exit_form_current
End If
End Sub

1
Respuesta
2

El código a usar es el mismo (con el cambio en los nombres correspondientes a los objetos), pero en el informe has de usar otro evento: "al dar formato" de la sección en la que tengas tu control imagen (que imagino que será en la sección Detalle).

Te quedará (suponiendo que tengas los mismos nombres):

Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
On Error GoTo sol_err
Imagen17.Picture = "c:\INFORMACION\Pedigree\imagenes\" & Id & ".jpg"
Salida:
Exit Sub
sol_err:
If Err = 2220 Then
Imagen17.Picture = "c:\INFORMACION\Pedigree\imagenes\NO_FOTO.jpg"
Resume Salida
End If
End Sub

Un saludo.


Muchas gracias por tu ayuda,

Con este código si hace la búsqueda cuando existe el archivo de imagen, pero la línea de comando cuando no existe la imagen me da error, necesitaría que si no existe el archivo, dejase la imagen en blanco.

Cambia esta línea:

Imagen17.Picture = "c:\INFORMACION\Pedigree\imagenes\NO_FOTO.jpg"

Por esta otra:

Imagen17.Picture=""

Hola, me sigue dando el mismo error de Visual "Se ha producido el error '2220' en tiempo de ejecución:

Hay algo que no me tiene sentido, pues si has copiado tal cual el código, nunca te tendría que salir el mensaje de error, pues actúa el control de errores...

De todas formas, pon

If Err.Number = 2220 Then

A ver si así se te resuelve.

Ese código es el mismo que uso yo en muchas de mis aplicaciones, y nunca tuve problemas con él.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas