Ayuda con DAO

Cecilia
02 de Agosto del 2004
Como puedo desde la programacion, una imagen gabarla hacia una base de datos( Uso DAO), en la b/d access, el campo es tipo Object.
Gracias

Mat?
02 de Agosto del 2004
Dim DataFile As Integer
Dim Chunk() As Byte
Const conChunkSize As Integer = 16384

Public Sub LeerImagen(campoBinary As Field, unPicture As Image)
'Leer la imagen del campo de la base y asignarlo al Picture

Dim lngCompensación As Long
Dim lngTamañoTotal As Long

'Se usa un fichero temporal para guardar la imagen
DataFile = FreeFile
Open "pictemp" For Binary Access Write As DataFile
lngTamañoTotal = campoBinary.ActualSize
Do While lngCompensación < lngTamañoTotal
Chunk() = campoBinary.GetChunk(conChunkSize)
Put DataFile, , Chunk()
lngCompensación = lngCompensación + conChunkSize
Loop

Close DataFile

'Ahora se carga esa imagen en el control
unPicture.Picture = LoadPicture("pictemp")

'Ya no necesitamos el fichero, así que borrarlo
On Local Error Resume Next
If Len(Dir$("pictemp")) Then
Kill "pictemp"
End If
Err = 0
End Sub


Public Sub GuardarImagen(campoBinary As Field, unPicture As Image)

'Guardar el contenido del Picture en el campo de la base

Dim i As Integer
Dim Fragment As Integer, Fl As Long, Chunks As Integer

'
'NOTA:
' El recordset debe estar preparado para Editar o Añadir
'

'Guardar el contenido del picture en un fichero temporal

SavePicture unPicture.Picture, "pictemp"

'Leer el fichero y guardarlo en el campo

DataFile = FreeFile
Open "pictemp" For Binary Access Read As DataFile
Fl = LOF(DataFile) ' Longitud de los datos en el archivo
If Fl = 0 Then Close DataFile: Exit Sub
Chunks = Fl conChunkSize
Fragment = Fl Mod conChunkSize
ReDim Chunk(Fragment)
Get DataFile, , Chunk()
campoBinary.AppendChunk Chunk()
ReDim Chunk(conChunkSize)
For i = 1 To Chunks
Get DataFile, , Chunk()
campoBinary.AppendChunk Chunk()
Next i
Close DataFile

'Ya no necesitamos el fichero, así que borrarlo
On Local Error Resume Next
If Len(Dir$("pictemp")) Then
Kill "pictemp"
End If
Err = 0
End Sub



Pruebalo y me cuentas.
Saludos