IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Comment insérer des photos dans un formulaire ?


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2016
    Messages : 22
    Points : 7
    Points
    7
    Par défaut Comment insérer des photos dans un formulaire ?
    Bonjour à toutes et tous,

    Suite à ce post, je souhaiterai encore améliorer ma BD.

    Qui peut me dire comment recréer un champ texte correspondant au nom de l'image OLE ?

    Et ensuite décharger les photos de la BD pour pouvoir les récupérer depuis le champs ainsi créé sous un logiciel SIG

    Exemple =>

    Nom : Photos_Tombes.png
Affichages : 439
Taille : 882,1 Ko

    Merci d'avance,

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    L'idée de gérer les images en tant qu'objet OLE est tout naturelle sous Microsoft mais présente une limite pou rune base de données Access avec l'augmentation de la taille de la base.
    Souvent, on conseille d'enregistrer les images dans un dossier particulier et effectivement d'avoir un champ texte dans la base de données pour leur chemin.
    Tu as un tutoriel bien fait là-dessus ICI.

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2016
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Re,

    avec l'augmentation de la taille de la base.
    C'est clair !
    Tu as un tutoriel bien fait là-dessus ICI.
    Je vais regarder au plus vite !

    Merci de ta réponse madefemere,

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2016
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Re,

    Je viens de parcourir rapidement le tutoriel mais j'ai bien peur de ne pas avoir le niveau,...

    Déjà, pour moi la première étape est de récupérer les photos liées et les classer dans un dossier externe,...

    Une idée ?

    Merci d'avance,

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Tu as un code ICI qui permet de récupérer le nom complet d'un objet OLE.
    Un code du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Function GetLinkedPath(objOLE As Variant) As Variant
       Dim strChunk As String
       Dim pathStart As Long
       Dim pathEnd As Long
       Dim path As String
       If Not IsNull(objOLE) Then
          ' Convert string to Unicode.
          strChunk = StrConv(objOLE, vbUnicode)
          pathStart = InStr(1, strChunk, ":\", 1) - 1
     
          ' If mapped drive path not found, try UNC path.
          If pathStart <= 0 Then pathStart = _
                           InStr(1, strChunk, "\\", 1)
     
          ' If either drive letter path or UNC path found, determine
          ' the length of the path by searching for the first null
          ' character Chr(0) after the path was found.
          If pathStart > 0 Then
             pathEnd = InStr(pathStart, strChunk, Chr(0), 1)
             path = Mid(strChunk, pathStart, pathEnd - pathStart)
             GetLinkedPath = path
             Exit Function
          End If
       Else
          GetLinkedPath = Null
       End If
    End Function
    Fais d'abord un essai sur un enregistrement dans ton formulaire en renvoyant le résultat dans une zone de texte.
    Après, on peut créer une fonction qui va faire la boucle sur ta table pour récupérer dans un champ texte ces valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Function RecupererAdressePhoto()
    Dim rstTombe As DAO.Recordset
    set rstTombe = Currentdb.OpenRecordset ("T_Tombes",DbOpenDynaset)
    With rstTombe
        rstTombe.MoveFirst
        While Not .EOF
            .Edit
            ![AdressePhoto] = GetLinkedPath(![Photo])
            .Update
        rstTombe.MoveNext
        Wend
    End With
    rstTombe.Close : set rstTombe = Nothing
    End Function
    ou plus simplement une requête mise à jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE T_Tombes SET T_Tombes.Adresse_Image = GetLinkedPath([Photo]);
    où "photo" est le nom du champ qui contient ton objet OLE et "AdressePhoto" va contenir le nom du fichier photo.

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 421
    Points : 16 267
    Points
    16 267
    Par défaut
    Bonjour

    Même avec des GED tournant sous ORACLE, on évite de stocker les objets dans la base...

    Il y a des codes assez simples pour afficher une image dans un formulaire à partir de son nom stocké dans la table donc c'est la solution à privilégier.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2016
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Bonjour à toutes et tous,

    Merci pour la piste madefemere!

    Je regarde tout ça dans le WE (Je suis en déplacement pour la semaine)

    Merci pour le conseil 78chris

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2016
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Bonsoir à toutes et tous,

    Une réponse qui fonctionne ici

    Merci encore de l'aide,

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour lili2006,

    C'est la même fonction et démarche que je proposais. Je te laissais la possibilité de développer.

    N'oublies pas de mettre en "RESOLU" ce sujet si c'est bon.

    Cordialement et bonne continuation.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2016
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Bonjour à toutes et tous,
    C'est la même fonction et démarche que je proposais.
    Oui, madefemere, même démarche !

    Je te laissais la possibilité de développer.
    J'hésitai à mettre résolu car je ne sais pas si je vais réussir à reproduire les manips,...Et comme j'ai pas le temps en ce moment,..

    Je reviendrai éventuellement sur ce post lorsque je reprendrai tout ça "au calme",...

    Merci encore de ton aide,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] creation champs texte dans requete analyse croisée
    Par asterpc dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/06/2015, 18h31
  2. image dans un champ texte
    Par viny dans le forum Flash
    Réponses: 6
    Dernier message: 27/09/2006, 17h45
  3. Réponses: 4
    Dernier message: 08/05/2006, 20h12
  4. [FLASH MX2004] une image dans un champ texte
    Par barok dans le forum Flash
    Réponses: 3
    Dernier message: 30/03/2006, 17h15
  5. [debutant] Creation de TextField - champ texte
    Par wkd dans le forum Composants
    Réponses: 3
    Dernier message: 04/06/2004, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo