Mediante el método Read del objeto Stream de ADO podemos asignar el valor de un campo de la tabla del tipo Objeto OLE o Imagen.
Copie y pegue el siguiente código en la sección Declaraciones del formulario de inicio del proyecto.
Option Explicit
Private
Sub SaveImage(ByVal oRst
As ADODB.Recordset, _
ByVal strFileName
As String,
_
ByVal strFieldName
As String)
Dim st
As Stream
On
Error GoTo
ErrSaveImage
' Si el objeto Recordset está
cerrado,
' salimos del procedimiento
If (oRst.State =
adStateClosed) Then
MsgBox "El objeto Recordset está
cerrado."
Exit
Sub
End
If
' Creamos un nuevo objeto Stream
binario
Set st =
New Stream
With st
' abrimos
el objeto e insertamos el archivo
' en la tabla de la base de datos
.Type = adTypeBinary
.Open
.LoadFromFile strFileName
' Coloca el
valor del stream en el campo y lo guarda
oRst.Fields(strFieldName).Value =
.Read
oRst.Update
' Cerramos
el objeto Stream
.Close
End
With
Set st =
Nothing
Exit
Sub
ErrSaveImage:
MsgBox Err.Description
End Sub
Enrique Martínez Montejo - 2004
NOTA: La información contenida en este artículo, así como el código fuente incluido en el mismo, se proporciona COMO ESTÁ, sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo explicado, recomendado o sugerido en el presente artículo.
NOTE: The information contained in this article and source code included therein, is provided AS IS without warranty of any kind, and confers no rights. You assume any risk to implement, use or run it explained, recommended or suggested in this article.