Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Insertar imagen en Objeto OLE de Access
Enviado por Toni el día 27 de julio de 2004
Buenas a todos!!
Tengo un problema que he de resolver urgentemente:
Desde mi programa VB, he de introducir imágenes en una tabla Access que contiene un campo OLE. Las imágenes almacenadas en la base de datos las muestro en un informe a posteriori.
El problema está en la forma de almacenar estas imágenes en la tabla pertinente. Si utilizo una sentencia SQL donde le indico el path de la imagen a guardar, se guarda un objeto "Datos Binarios Largos", y si utilizo una sentencia SQL donde le indico que coja el valor de un Picture Box, me pasa exactamente igual, se almacenan "Datos Binarios Largos" en el campo de mi tabla. Para poder visualizar en el informe las imágenes, la única forma que he encontrado es insertando en la tabla campos con formato "Foto de Microsoft Photo Editor 3.0" a partir del Access, y es lo que no se hacer desde una sentencia SQL ya que siempre se me guardan como "Datos Binarios Largos" y no hay forma de visualizarlas en el informe.
¿Alguien sabe como guardar desde VB en Access una imagen como "Foto de Microsoft Photo Editor 3.0", o como visualizar "Datos Binarios Largos" en el informe?
He leído en alguna web que puede que se solucione almacenando el código hexadecimal de la imagen, pero no se hacer esto.¿Alguien lo sabe?
Tenia un problema similar pero yo utilizo el crystal report y se ven las imagenes perfectamente. Tienes razón VB almacena las imagenes en Access como Datos Binarios Largos pero estos son reconocidos perfectamente por Crystal report. Te mando este código por si te sirve:
Option Explicit
Private Sub Boton1_Click()
Data1.Recordset.MoveLast
'aqui grabo la imagen en la tabla y un texto
Data1.Recordset.AddNew
Data1.Recordset("Nombre") = Text1
Private Sub Command1_Click()
'aqui selecciono una imagen para mostrar en un image o picturebox, es mejor la image porque adpta la imagen al marco especificado
CD1.Filter = "archivos (*.bmp)|*.bmp"
CD1.ShowOpen
Image1.Picture = LoadPicture(CD1.FileName)
'Picture1.Picture = LoadPicture(CD1.FileName)
End Sub
despues creas tu report.rpt insertando los campos requeridos, incluyendo el campo imagen y listo.