La Web del Programador: Comunidad de Programadores
 
    Pregunta:  10302 - GUARDAR DATOS DE UN OBJETO OLE
Autor:  marcelo Zualet
Deseo desde visual crear un objeto ole(con wordpad) y guardarlo dentro de un campo de una tabla.
¿como debo realizar este procedimiento?
que controles utilizo en visual y como debo definir el campo en la base de datos? por cierto para la base estoy utilizanzo Access 2000

  Respuesta:  Josemari Etxagibel Alberdi
Hola, espero que te sirva de algo lo que yo hice :
En primer lugar creas un campo de tipo OBJETO OLE (ej, "Logotipo")

Código para actualizar el campo de la base de datos

DbRsEmpresa("EMail") = txtCuenta.Text
DbRsEmpresa("LogoPath") = txtLogotipo.Text
'Aquí actualizo el campo "Logotipo"
lng = GuardarImg(txtLogotipo.Text, DbRsEmpresa, "Logotipo")
DbRsEmpresa.Update

La función GuardarImg es como sigue :

'Ruta es el path del archivo a guardar

Public Function GuardarImg(Ruta As String, Tabla As DAO.Recordset, Campo As String) As Long
Dim fileSys, FileName
Dim lngOS As Long
Dim lnglS As Long
Dim ChBuf() As Byte
Const ConChSz = 100

lngOS = 0
Set fileSys = CreateObject("Scripting.FileSystemObject")
Set FileName = fileSys.getfile(Ruta)
lnglS = FileName.Size
Set FileName = Nothing
Set fileSys = Nothing
Open Ruta For Binary Access Read As #1
ReDim ChBuf(ConChSz)
Do While lngOS < lnglS
Get #1, , ChBuf()
Tabla(Campo).AppendChunk ChBuf()
lngOS = lngOS + ConChSz
Loop
Close #1
GuardarImg = lnglS
End Function