Convertir binaire en .JPEG

cs_njioua Messages postés 10 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 juillet 2008 - 10 juil. 2008 à 12:30
cs_njioua Messages postés 10 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 juillet 2008 - 11 juil. 2008 à 10:47
Bref, pour mon problème j'ai une BD Access Photoqui contient une table Fiche:
      - champs : Matricule , Nom & Prénom , Photo
J'ai un dossier où les photos sont stockées nomées avec la matricule de la personne correspondante.
--> Donc je voulias avoir un script qui permet de chercher la photo dans ce dossier par la matricule et la stockée dans l'enregistrement correspondant type OLE Object et je l'ai trouvé mais reste qu'il me rend l'image en binaire donc comment convertir le binaire à .jpeg ?

 Voilà mon script :

Sub test()
    Dim rs As ADODB.Recordset
    Dim stm As ADODB.Stream    Set rs = New ADODB.Recordset
    Set stm = New ADODB.Stream

    rs.Open "Fiche", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test\Photo.mdb", adOpenStatic, adLockOptimistic, adCmdTable

    stm.Type = adTypeBinary
    stm.Open
    stm.LoadFromFile "C:\test\A625068.JPG"   

    rs.AddNew
    rs!PHOTO = stm.Read
    rs.Update

    rs.Close
    stm.Close
    Set rs = Nothing
    Set stm = Nothing

End Sub

Veuillez m'aider SVP , il me reste pas bcp  ...

Bonne journée  . 

6 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 juil. 2008 à 12:53
de binaire a .jpeg...

euh.... tu veux dire comment retrouver un fichier JPEG ? enregistre le contenu binaire dans un fichier...

Open "C:\a.jpg" for binary access write as #1
put #1 , , rs.Fields("Photo")
Close #1
0
cs_njioua Messages postés 10 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 juillet 2008
10 juil. 2008 à 14:33
D'une part ,non c'est pas comment retrouver une image .JPEG , mon script l'a retrouvé et il a réussit à me la transferer (l'image  .JPEG) dans mon champ OLE de ma BD ACCESS mais le problème c'est qu'il me la transfert en binaire et il me faut la convertir en  .JPEG
D'autre part , j' ai essayé ton code mais il m'affiche un message d'erreur :

 Erreur de compilation:
Opération de lecture ou Ecriture impossible sur une variable référençant un objet ou une variable de type défini par l'utilisateur contenant une référence d'objet.

Merci pour votre aide...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 juil. 2008 à 14:37
ok, te faut un autre stream...
évidement qu'il stocke des données binaires, en faire une image n'est pas son job, mais celui du décodeur JPEG...
0
cs_njioua Messages postés 10 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 juillet 2008
10 juil. 2008 à 14:42
Oui j'ai compris l'idée mais comment faire ? le script?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 juil. 2008 à 10:17
tiens et t'es en VBA maintenant?
c'est bien çà change à chaque fois que tu poses la même question.....

http://www.vbfrance.com/infomsg_AFFICHER-IMAGE-OBJET-OLE-DANS-TABLE_1168168.aspx
0
cs_njioua Messages postés 10 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 11 juillet 2008
11 juil. 2008 à 10:47
Oui j'ai vu ce lien car j' y discute aussi concernant mon problème et j'ai rien trouvé comme solution ... Aujourd'hui j'ai trouver un script qui me fait le travail : mais il me reste que comment convertir une image BITMAP (dans un champ OLE) dans ma BD Access au binaire ... voilà le script :

Sub PhotoBinaire_AccessDossier()



    Dim rs As ADODB.Recordset
    Dim stm As ADODB.Stream



    Set rs = New ADODB.Recordset
    Set stm = New ADODB.Stream



    rs.Open "select * from [1] where matricule='A256958'", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test\Photos.mdb", adOpenStatic, adLockOptimistic, adCmdText



    stm.Type = adTypeBinary
    stm.Open
    stm.Write rs.Fields("photo").Value
    stm.SaveToFile "C:\test\test.jpg"



    rs.Close
    stm.Close
    Set rs = Nothing
    Set stm = Nothing



End Sub

Ce script
m'a aider à transferer une image binaire vers un dossier mais dans ma base j'ai des image en bitmap donc il faut les convertir en binaire : si j'arrive à le faire donc j'ai résolu mon problème...

Merci pour votre aide,
Bonne journée.
0
Rejoignez-nous