Access - ¿Cómo almaceno una imagen en un campo e tipo OLE?

 
Vista:

¿Cómo almaceno una imagen en un campo e tipo OLE?

Publicado por Pablo (1 intervención) el 14/09/2004 11:12:29
Necesito almacenar imagenes en un campo OLE de Access desde vb.NET, ¿puede ayudarrme alguien?
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

¿Cómo almaceno una imagen en un campo e tipo OLE?

Publicado por Alejandro (4142 intervenciones) el 10/05/2023 18:58:02
Claro, Pablo, puedo ayudarte con eso. Para almacenar una imagen en un campo OLE de Access desde vb.NET, puedes seguir estos pasos:

1. Asegúrate de tener una referencia a la biblioteca de objetos de Microsoft Office en tu proyecto. Para ello, ve a "Proyecto" > "Agregar referencia" y busca "Microsoft Office XX.0 Object Library" en la pestaña "COM".

2. Declara una variable del tipo `Microsoft.Office.Interop.Access.Dao.Field2` en tu código para representar el campo OLE al que deseas asignar la imagen.

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
35
Imports Microsoft.Office.Interop.Access.Dao
 
'...
 
Dim db As Database
Dim rs As Recordset2
Dim field As Field2
 
'...
 
' Abre la conexión con la base de datos
db = OpenDatabase("RutaDeTuBaseDeDatos.accdb")
 
' Abre la tabla o consulta que contiene el campo OLE
rs = db.OpenRecordset("NombreTabla")
 
' Asegúrate de tener un registro activo en el recordset o crea uno nuevo si es necesario
rs.AddNew()
 
' Obtiene el campo OLE al que deseas asignar la imagen
field = rs.Fields("NombreCampoOLE")
 
' Carga la imagen desde un archivo en una variable de tipo byte array
Dim imageBytes() As Byte = File.ReadAllBytes("RutaDeLaImagen.jpg")
 
' Asigna la imagen al campo OLE
field.LoadFromFile("RutaDeLaImagen.jpg")
' Opción alternativa: field.Value = imageBytes
 
' Guarda los cambios en el registro
rs.Update()
 
' Cierra el recordset y la base de datos
rs.Close()
db.Close()

En el código anterior, debes reemplazar "RutaDeTuBaseDeDatos.accdb" con la ruta de tu base de datos de Access, "NombreTabla" con el nombre de la tabla que contiene el campo OLE y "NombreCampoOLE" con el nombre del campo OLE específico al que deseas asignar la imagen. Además, asegúrate de proporcionar la ruta correcta de la imagen que deseas almacenar en "RutaDeLaImagen.jpg".

Recuerda que necesitarás la biblioteca de objetos de Microsoft Office instalada y referenciada en tu proyecto para utilizar el objeto `Field2` y realizar las operaciones de acceso a la base de datos.

Espero que esta información te sea útil. ¡Buena suerte con tu desarrollo en vb.NET y Access!
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