Hola, quisiera saber cómo almacenar imágenes JPG en una BBDD Access. ¿Cuál sería la mejor manera de visualizarlo desde un Form?
Gracias
Vic
Hola, quisiera saber cómo almacenar imágenes JPG en una BBDD Access. ¿Cuál sería la mejor manera de visualizarlo desde un Form?
Gracias
Vic
Te paso un ejemplo sintetizado de como hacer los que pides.
En este caso la tabla está enlazada a un control Adodc. Tienes que poner en Form:
Un control Adodc, un control Image y un CommandButton Añadir.
Código:Private Sub Form_Load() Adodc1.CursorLocation = adUseServer Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Pictures.mdb" CargaDatos End Sub Private Sub CargaDatos() Adodc1.RecordSource = "select * from Tabla1" Adodc1.Refresh Adodc1.Recordset.MoveFirst Set Image1.DataSource = Adodc1 Image1.DataField = "Foto" ' campo 2 de la tabla Image1.Stretch = True ' para ajustar la imagen al control End Sub Private Sub AñadirImagen_Click() Dim sFile As String, bBytes() As Byte Image1.Visible = False sFile = "C:\MisImagenes\Imagen1.jpg" Open sFile For Binary As #1 ReDim bBytes(FileLen(sFile)) Get #1, , bBytes Close #1 Adodc1.Recordset.AddNew Adodc1.Recordset(2).AppendChunk bBytes ' el campo2 es el campo OLE de la tabla Adodc1.Recordset.Update Adodc1.Refresh Image1.Visible = True CargaDatos End Sub
El campo 2 de la tabla (Foto) es de tipo Objeto OLE (Datos binarios largos).
Lo marcado en azul es lo que deberías modificar en tu código.
Saludos
SI ESTAS TRABAJANDO CON UN DATA ENTOnces:
insertas en e lformulario form1 el onjeto image
luego un boton de comando que se llamara imagen.
ese boton de comando abre un formulario ejemplo: form2, en donde abran muchas imagenes diferentes.
por ejmplo en la imagen 1
private sub image1_clicjk()
form1.image1.picture=image1.picture
end sub
en la siguiente imagen:
private sub image2_clivk()
form1.image1.picture=image2.picture
end sub
y asi sucesivamente para todas las imagenes que tengas
el objeto image1 insertado en en el form1 en propiedades:
datasource: data1 (nombre del data)
datafield: imagen (campo)
en la base de datos access entonces:
nombre: tipo de datos:
imagen objeto ole
* la imagen se guarda como binarios largos
bueno espero que te sirva.
ok, gracias.
otra consulta.
Estoy haciendo un programa que me permite guardar las imagenes en una BD Acces, pero esta imagenes ocupan muchos espacio (llevo 6 registros en la BD y ya ocupa 1Mb). Hay alguna manera de reducir la imagen en tamaño o calidad??
Edited by: skinet