Salut à tous,
Voila mon problème: j'ai récupéré une base access qui contient des images stockée en tant qu'image.
Je voudrais les "sortir" de la base pour les enregistrer en format bitmap sur mon disque dur.
J'ai donc la fonction suivante :
Code :
- Private Sub essai()
- On Error Resume Next
- Dim cn As ADODB.Connection
- Dim rs As ADODB.Recordset
- Dim mstream As ADODB.Stream
- Set cn = New ADODB.Connection
- cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & CurrentProject.Path & "\donnees2002.mdb"
- Set rs = New ADODB.Recordset
- rs.Open "Select * from SIGNATURES", cn, adOpenKeyset, adLockOptimistic
- While Not rs.EOF
- Set mstream = New ADODB.Stream
- mstream.Type = adTypeBinary
- mstream.Open
- mstream.Write rs.Fields("signature" ).Value ' Objet OLE contenant le bitmap
- mstream.SaveToFile CurrentProject.Path & "\images\" & rs.Fields("NuméroBMP" ).Value & ".bmp", adSaveCreateOverWrite
- rs.MoveNext
- Wend
- rs.Close
- cn.Close
- End Sub
|
Le hic c'est qu'il enregistre l'objet OLE en entier (l'encapsulation du bitmap), et je ne sais pas comment faire pour récupérer l'image dans l'objet OLE.
Merci par avance