Access - Exportar campos BLOB a imagen JPG o BMP

 
Vista:

Exportar campos BLOB a imagen JPG o BMP

Publicado por Juacho (6 intervenciones) el 30/08/2007 12:34:57
Buenos dias;
Necesito extraer todas las imagenes (en jpg o Bmp) de los campos BLOB que tengo en una base de datos access pero no encuentro la forma.
No se si necesito hacerlo mediante codigo o access ya contiene esta funcionalidad. Actualmente estoy visualizando estos campos con el Photo Editor pero no me permite la opcion de guardarlo.
Con que otro programa visualizais los campos BLOB desde la tabla y como es posible exportarlos en un archivo de imagen?

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Extraer imágenes de campos BLOB y exportarlas

Publicado por Alejandro (4142 intervenciones) el 18/08/2023 16:18:16
Para extraer las imágenes almacenadas en campos BLOB en una base de datos de Access y exportarlas a archivos de imagen (como JPG o BMP), puedes seguir estos pasos:

1. Utilizar un programa de base de datos:
Access en sí mismo no proporciona una forma directa de exportar imágenes desde campos BLOB a archivos de imagen. Necesitarás utilizar un programa o una rutina de código para realizar esta tarea.

2. Utilizar un programa de visualización de imágenes:
En lugar del Photo Editor, podrías considerar utilizar programas más especializados para visualizar y extraer imágenes de campos BLOB. Algunos programas populares incluyen:

- IrfanView: Es una herramienta gratuita y versátil para visualización de imágenes que te permitirá copiar y guardar imágenes desde campos BLOB.
- DBPix: Una herramienta específica para trabajar con imágenes almacenadas en bases de datos. Ofrece funcionalidades para exportar imágenes a archivos y otras operaciones.

3. Extracción manual:
Si optas por extraer manualmente las imágenes desde los campos BLOB, puedes seguir estos pasos:

a. Abre la tabla que contiene los campos BLOB en la vista de hoja de datos.
b. Localiza el registro con la imagen que deseas exportar.
c. Haz clic en el campo BLOB. Esto debería seleccionar todo el contenido del campo.
d. Copia el contenido al portapapeles (Ctrl+C).
e. Abre un programa de edición de imágenes (como Paint o IrfanView).
f. Pega el contenido del portapapeles en el programa de edición (Ctrl+V).
g. Guarda la imagen en el formato deseado (por ejemplo, JPG o BMP).

4. Automatización mediante código:
Si tienes una gran cantidad de imágenes y quieres automatizar el proceso, puedes usar código VBA para extraer y guardar las imágenes. A continuación, te muestro un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Sub ExportarImagenes()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSQL As String
    Dim strPath As String
    Dim intCount As Integer
 
    ' Cambia la ruta donde se guardarán las imágenes
    strPath = "C:\Ruta\Imagenes\"
 
    Set db = CurrentDb
    strSQL = "SELECT CampoImagen FROM NombreTabla" ' Cambia "CampoImagen" y "NombreTabla" según tu base de datos
    Set rs = db.OpenRecordset(strSQL)
 
    intCount = 1
    Do While Not rs.EOF
        Dim byteData() As Byte
        Dim intFile As Integer
 
        byteData = rs.Fields("CampoImagen").Value
        intFile = FreeFile
 
        Open strPath & "Imagen" & intCount & ".jpg" For Binary Access Write As intFile
        Put intFile, , byteData
        Close intFile
 
        intCount = intCount + 1
        rs.MoveNext
    Loop
 
    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Sub

Asegúrate de ajustar el nombre del campo y la tabla en la consulta SQL, así como la ruta de guardado de las imágenes en el código anterior.

Recuerda que, antes de ejecutar cualquier rutina de código, es aconsejable hacer una copia de seguridad de tu base de datos.

Estos pasos te permitirán extraer imágenes de campos BLOB en Access y guardarlas como archivos de imagen.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar