Comment insérer une image se trouvant en dehors d'une base

Peguewende Messages postés 120 Statut Membre -  
Peguewende Messages postés 120 Statut Membre -
salut a tous
je voudrais une aide sur un petit projet sur lequel je m'exerce depuis un certain temps. je désire ajouter une photo à chaque enregistrement de ma base, j'ai crée un dossier dans lequel j'ai mis la base de donnée en question puis dans le même dossier j'ai crée un dossier photos dans le quel se trouve les images en question,
le problème c'est que dans mon formulaire, lorsque je Click sur ajouter la boite de dialogue s'ouvre, je choisi une photo puis je valide mais rien s'affiche dans le cadre.
je ne sais pas si c'est le code qui n'est pas bon.
voici le fichier en question au cas ou quelqu'un pourra m'aider à trouver une solution :https://accounts.google.com/ServiceLogin?service=wise&passive=1209600&continue=https://drive.google.com/open?id%3D0B3RXANIQ4SgEdlFtVjFvV2lsbDg%26authuser%3D0&followup=https://drive.google.com/open?id%3D0B3RXANIQ4SgEdlFtVjFvV2lsbDg%26authuser%3D0

6 réponses

  1. le meruvien Messages postés 1414 Statut Membre 44
     
    bonjour,
    voila sur cijoint un exemple!
    tu ouvre "liste des chats", tu selectionne un chat, et tu clic sur "fiche"
    Bien sur, attention que le numéro coresponde a celui de ta photo, et ne change pas le dossier photo de place, ou alors pense à modifier le chemin!
    roger

    https://www.cjoint.com/c/EFreRY1Yvcd
    0
  2. Peguewende Messages postés 120 Statut Membre 1
     
    je repose mon probleme.
    j'ai une base dans laquelle je souhaite attribuer une image a chacun de mes usagers.
    la table: T_user(Id,NomClient,Photo)
    le Formulaire : F_user(NomClient,Photo) , un cadre image (ImgApercu) qui reçoi l'image et deux boutons: btnAjout et btnEffacer,
    voici le code:
    Private Sub btnAjout_Click()
    Dim dialogueFichier As Object
    Dim mon As String

    Set dialogueFichier = Application.FileDialog(3)
    dialogueFichier.AllowMultiSelect = False
    dialogueFichier.Filters.Add "Images", "*. jpeg;*.jpg,1"
    dialogueFichier.InitialFileName = CurrentProject.Path & "\Photos"
    dialogueFichier.show

    End Sub

    Private Sub Form_Current()
    Photo_AfterUpdate
    End Sub

    Private Sub Photo_AfterUpdate()
    Dim CheminCompletFichier As String
    On Error Resume Next
    If IsNull(Me!Photo) Or Me!Photo = "" Then
    Me!ImgApercu.Picture = ""
    Else
    CheminCompletFichier = CurrentProject.Path & "\Photos\" & Me.Photo
    Me.Photo = CheminCompletFichier
    End If
    Me!ImgApercu.Picture = IIf(CheminCompletFichier = "", "", CheminCompletFichier)

    End Sub


    lorsque je clic sur le bouton Ajouter la boite de dialogue s'ouvre je choisi l'image souhaité, je valide mais rien ne s'affiche dans le cadre et rien n'est stocké dans le champ photo de la table T_user.
    je ne sais pas ou se trouve le probleme, si toute fois fois vous pouvez m'aider.
    le lien du fichier: https://accounts.google.com/ServiceLogin?service=wise&passive=1209600&continue=https://drive.google.com/open?id%3D0B3RXANIQ4SgEdlFtVjFvV2lsbDg%26authuser%3D0&followup=https://drive.google.com/open?id%3D0B3RXANIQ4SgEdlFtVjFvV2lsbDg%26authuser%3D0
    0
  3. le meruvien Messages postés 1414 Statut Membre 44
     
    bonjour,
    Je ne peut pas ouvrir ton fichier, car je ne connais pas google drive, et en plus je supose qu'il est en access 2010 ou 13, alors que moi je n'ais que 2003!
    fait donc un essai avec la base que je t'ai joint hier!
    Quand tu sélectionne une photo, il faut bien sur que le nom soit reporté dans la table!
    Roger
    0
    1. Peguewende Messages postés 120 Statut Membre 1
       
      le fichier que vous m'avez envoyé hier est incomplet, je que la base access.
      pas de dossier ni de photo
      0
    2. le meruvien Messages postés 1414 Statut Membre 44
       
      Force un peuttt!! fait travailler tes neurrones!!
      La base que je t'ai envoyé est un MODELE, c'est a toi d'étudier comment fonctionne les tables, et de:
      - fait un dossier "photo"
      - met dedans quelques photo
      - et mettre dans le champ "photo" de la table le chemin et le nom de la photo!
      bien sur fait ça d'une manière automatique apres mise à jour de chaque enregistrement.
      0
  4. le meruvien Messages postés 1414 Statut Membre 44
     
    Tiens, voila un autre modéle plus simple, tu doit déziper le fichier et le dossier, quand tu ouvre la base, tu clic en haut a gauche sur ajout, et dès que tu valide ton entrée, s'ouvre un formulaire de saisie des détail, et des photo!
    bien sur, ton dossier de photo doit être dans le même dossier que ta base!
    Roger

    http://www.cjoint.com/c/EFspzClYqad
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Peguewende Messages postés 120 Statut Membre 1
     
    j'ai testé le fichier que vous m'avez envoyé mais il y a toujours un problème
    quand le formulaire fiche d'une plante, j'ai un message de débogage qui me met en jaune cette ligne :
     Me!imgphoto_1.Picture = CurrentProject.Path & "\photos plantes\pasdephoto.jpg"

    dans
    Private Sub Form_Current()
    If Len(Me!photo_1) > 0 Then ' si la photo n'est pas définie, on affiche la photo blank.jpg
    On Error GoTo erreur_1
    Me!imgphoto_1.Picture = Me!photo_1
    DisplayPhoto_1 ' Traitement en fonction de la taille de l'image
    Else
    Me!imgphoto_1.Picture = CurrentProject.Path & "\photos plantes\pasdephoto.jpg"
    End If

    If Len(Me!photo_2) > 0 Then ' si la photo n'est pas définie, on affiche la photo blank.jpg
    On Error GoTo erreur_1
    Me!imgphoto_2.Picture = Me!photo_2
    DisplayPhoto_2 ' Traitement en fonction de la taille de l'image
    Else
    Me!imgphoto_2.Picture = CurrentProject.Path & "\photos plantes\pasdephoto.jpg"
    End If

    Exit Sub
    erreur_1:
    Select Case Err.Number
    Case 2114 'Cas d'un type de fichier photo non supporté ...
    MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
    Me!imgphoto_1.Picture = CurrentProject.Path & "\photos plantes\pasdephoto.jpg"
    Me!photo_1 = vbNullString

    Me!imgphoto_2.Picture = CurrentProject.Path & "\photos plantes\pasdephoto.jpg"
    Me!photo_2 = vbNullString

    Case 2220 'Cas d'un emplacement non valide du fichier images
    MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _
    Me!photo_1, vbCritical + vbOKOnly, "Application Photos"
    Me!imgphoto_1.Picture = CurrentProject.Path & "\photos plantes\pasdephoto.jpg"
    Me!photo_1 = vbNullString

    MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _
    Me!photo_2, vbCritical + vbOKOnly, "Application Photos"
    Me!imgphoto_2.Picture = CurrentProject.Path & "\photos plantes\pasdephoto.jpg"
    Me!photo_2 = vbNullString
    Case Else ' tout autre cas d'erreur
    ' MsgBox "Erreur inattendue : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos"
    End Select
    Err.Clear
    End Sub


    donc j'ai essayé de renommer une autre photo dans le dossier photo pasdephoto pour voir si je pouvais corriger le bug mais cela n'a pas marcher
    0
    1. le meruvien Messages postés 1414 Statut Membre 44
       
      bonjour,
      ATTENTION, a-tu bien dans le dossier "\photos plantes\pasdephoto.jpg" une image qui s'appelle "pasdephoto.jpg"??
      Cette image doit s'afficher quand tu as une plante sans photo!!
      0
    2. le meruvien Messages postés 1414 Statut Membre 44
       
      effectivement, j'ai oublié de la mettre! alors met une photo quelconque, et nome-la :pasdephoto.jpg
      0
  7. Peguewende Messages postés 120 Statut Membre 1
     
    slt, j'ai par corriger mon code et il fonctionne tres bien, j'ai reuusi a faire stocker le chemin de la photo dans ma table et je peux maintenant a jouter des photos sans probleme, ta methode est bonne elle demande trop de code.
    voici le code complet:
    Private Sub btnAjout_Click()
    Dim dialogueFichier As Object
    Dim monFichier As String

    Set dialogueFichier = Application.FileDialog(3)
    dialogueFichier.allowmultiselect = False
    dialogueFichier.filters.Add "Images", "*.jpg; *.jpeg", 1
    dialogueFichier.initialfilename = CurrentProject.Path & "\Images"
    dialogueFichier.show
    If dialogueFichier.selectedItems.Count = 0 Then
    MsgBox ("Aucune Photo selectionnée")
    Else
    monFichier = Trim(dialogueFichier.selectedItems(1))
    monFichier = Right(monFichier, Len(monFichier) - InStrRev(monFichier, "\"))
    End If
    Me.cmdPhoto = monFichier
    Form_Current
    End Sub

    Private Sub btnEffacer_Click()
    Me.imgApercu.Picture = ""
    Me.cmdPhoto = ""
    Form_Current

    End Sub

    Private Sub cmdPhoto_AfterUpdate()
    Dim cheminComplet As String
    On Error Resume Next
    If IsNull(Me.cmdPhoto) Or Me.cmdPhoto = "" Then
    Me.imgApercu.Picture = ""
    Else
    cheminComplet = CurrentProject.Path & "\Images\" & Me.cmdPhoto
    End If
    Me.imgApercu.Picture = IIf(cheminComplet = "", "", cheminComplet)

    End Sub

    Private Sub Form_Current()
    cmdPhoto_AfterUpdate
    If Len(Me.Nom) > 0 Then
    Me.Caption = " Deatil Client : " & Me.Nom & " " & Me.Prenom
    Else
    Me.Caption = " Saisie d'un nouveau Client "
    End If
    End Sub
    0