visual una que objeto insertar imagen guardar fotografia formulario desde como acces vba ms-access access-vba ms-access-2007

vba - una - insertar imagen en formulario access



Guardar imagen como objeto OLE, en Access (1)

Tengo una tabla con un campo que es de tipo Objeto OLE. Luego tengo un formulario con varios campos. Algunos son solo campos de texto. Pero, también tengo un objeto Imagen en el formulario. Cuando un usuario hace clic en un botón, se abre un cuadro de diálogo y puede capturar una foto. Una vez que seleccionan la foto, el objeto Imagen muestra esa imagen. Quiero guardar esa imagen en la base de datos. Lo que solo parece guardar una referencia de dónde se encuentra el archivo, en la computadora. Por lo tanto, esto no funcionaría si se mueve la base de datos. Aquí está el código que tengo:

Dim wrkCurrent As DAO.Workspace Dim dbs As DAO.Database Dim rstPerson As DAO.Recordset Set wrkCurrent = DBEngine.Workspaces(0) Set dbs = CurrentDb Set rstPerson = dbs.OpenRecordset("SELECT * FROM tbl_person WHERE id =" & ID) With rstPerson .Edit !bio_photo = Me.Image37.picture .Update End With

¿Cómo guardaría el archivo de imagen en el campo OLE, para poder cargarlo de nuevo en el objeto Imagen, en el formulario, más adelante?

Gracias

Responder:

Entonces, lo que terminé haciendo fue seguir este https://support.microsoft.com/en-us/kb/210486

Uso la función readBLOB para leer el archivo y guardarlo en la base de datos. Luego, cuando ejecuto un informe o abro un formulario que tiene la imagen, onload, uso la función WriteBlob para escribir el archivo en una carpeta temporal y luego usar esa ruta para llenar un objeto Image.