Insertar imagen en Objeto OLE de Access
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?
Muchas gracias (vaya parrafada!!)
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?
Muchas gracias (vaya parrafada!!)
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
Data1.Recordset("foto") = Image1.DataSource
Data1.Recordset.Update
End Sub
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.
Espero que te sirva esto.
Saludos,
Carlos
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
Data1.Recordset("foto") = Image1.DataSource
Data1.Recordset.Update
End Sub
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.
Espero que te sirva esto.
Saludos,
Carlos
