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

IHM Discussion :

gestion des photos par formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut gestion des photos par formulaire
    Bonjour à tous,

    Voila, je suis stagiaire en mairie et mon projet est de gérer près de 2000 photos. J'ai donc bien lu le tutorial de caféine mais, ne m'étant jamais servi de Visual Basic auparavant, je suis complètement perdu.

    Je vous montre ce que j'ai fait:


    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    Private Sub Image24_Click()
    'L'évènement activation (current) se produit lorsque le focus passe à un enregistrement
    ' donné pour en faire l'enregistrement en cours ou lorsque le formulaire est
    ' Actualisé ou en Actualisation
     
    'si le nom du salarié est non vide : on visualise un enregistrement
    ' sinon cela indique que nous sommes sur un environnement vierge, donc en cours de saisie.
    ' Me.Caption : gère le titre du formulaire
    If Len(Me.NOM_DES_PHOTOS) > 0 Then
        Me.Caption = "Détails pour la photo : " And Me.NOM_DES_PHOTOS And Me.DATE And Me.OCCASION
    Else
        Me.Caption = "Saisie d'une nouvelle photo"
    End If
     
    'si la photo n'est pas définie, on affiche la photo ballade_menhir_2
    'CurrentProject.Path: est le chemin de l'application
    If Len(Me.Photo) > 0 Then
        Me.imgPhoto.Picture = Me.Photo
        Me.imgPhoto.Picture = CurrentProject.Path And "U:\Stagiaire_Informatique \ personnel \ photos \ sports \ thibaut \ ballade_menhir_2.jpg"
    End If
     
    DisplayPhoto
     
    End Sub
    Private Sub Commande1_Click()
    'Bouton de commande d'effacement de la photo
     
    'supprime l'adresse de la photo
    Me.Photo = vbNullString
     
    'affiche l'image ballade_menhir_2.jpg
    Me.Photo = CurrentProject.Path And "U:\Stagiaire_Informatique \ personnel \ photos \ sports \ thibaut \ ballade_menhir_2.jpg"
     
     
    End Sub
     
    Private Sub Commande2_Click()
    'Bouton d'ajout - modification de photo
    Dim StrLink As String
     
    'récupération du chemin physique de la photo
    'par la boîte de dialogue
    StrLink = OuvrirUnFichier(Me.Hwnd, _
                             "selectionner une photo pour" And Me.NOM_DES_PHOTOS, _
                             1)
     
    'si la boîte renvoie une adresse non nulle
    If Len(StrLink) > 0 Then
    'tentative d'affichage de la photo
    Me.imgPhoto.pictures = StrLink
    Me.Photo = StrLink
     
    End If
     
    Display Photo
     
    End Sub

    Je pense qu'il y a beaucoup d'erreurs.
    Déja, quand je clique sur le bouton de commande "ajouter photo" , cela me met: "Erreur de compilation: Sub ou fonction non définie" avec "Me.NOM.DES.PHOTOS" surligné
    Quand je clique sur l'autre bouton "supprimer photo", cela me met "Erreur d'execution 13: Incompatibilité de type" avec "Me.Photo = CurrentProject.Path And "U:\Stagiaire_Informatique \ personnel \ photos \ sports \ thibaut \ ballade_menhir_2.jpg" surligné en jaune.

    Que dois je faire?

    [Modération, cafeine : Pensez à utiliser la balise [CODE] qui améliore la lisibilité, merci]

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    salut,

    utilise le bon opérateur de concatenation : &
    ("and" c'est pour les tests logiques, donc rien à voir ici)

    PS : pense à mettre des balises de code (bouton Code juste au dessus de là où tu tapes le message) sinon c'est dur à lire.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Ok merci pour le &.
    Toutefois, cela ne change rien j'ai toujours les mêmes problèmes.

    Pour plus de clarté:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    Private Sub Image24_Click()
    'L'évènement activation (current) se produit lorsque le focus passe à un enregistrement
    ' donné pour en faire l'enregistrement en cours ou lorsque le formulaire est
    ' Actualisé ou en Actualisation
     
    'si le nom du salarié est non vide : on visualise un enregistrement
    ' sinon cela indique que nous sommes sur un environnement vierge, donc en cours de saisie.
    ' Me.Caption : gère le titre du formulaire
    If Len(Me.NOM_DES_PHOTOS) > 0 Then
        Me.Caption = "Détails pour la photo : " & Me.NOM_DES_PHOTOS & Me.DATE & Me.OCCASION
    Else
        Me.Caption = "Saisie d'une nouvelle photo"
    End If
     
    'si la photo n'est pas définie, on affiche la photo ballade_menhir_2
    'CurrentProject.Path: est le chemin de l'application
    If Len(Me.Photo) > 0 Then
        Me.imgPhoto.Picture = Me.Photo
        Me.imgPhoto.Picture = CurrentProject.Path & "U:\Stagiaire_Informatique \ personnel \ photos \ sports \ thibaut \ ballade_menhir_2.jpg"
    End If
     
    DisplayPhoto
     
    End Sub
    Private Sub Commande1_Click()
    'Bouton de commande d'effacement de la photo
     
    'supprime l'adresse de la photo
    Me.Photo = vbNullString
     
    'affiche l'image ballade_menhir_2.jpg
    Me.Photo = CurrentProject.Path & "U:\Stagiaire_Informatique \ personnel \ photos \ sports \ thibaut \ ballade_menhir_2.jpg"
     
     
    End Sub
     
    Private Sub Commande2_Click()
    'Bouton d'ajout - modification de photo
    Dim StrLink As String
     
    'récupération du chemin physique de la photo
    'par la boîte de dialogue
    StrLink = OuvrirUnFichier(Me.Hwnd, _
                             "selectionner une photo pour" & Me.NOM_DES_PHOTOS, _
                             1)
     
    'si la boîte renvoie une adresse non nulle
    If Len(StrLink) > 0 Then
    'tentative d'affichage de la photo
    Me.imgPhoto.pictures = StrLink
    Me.Photo = StrLink
     
    End If
     
    Display Photo
     
    End Sub

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.imgPhoto.Picture = CurrentProject.Path & "U:\Stagiaire_Informatique \ personnel \ photos \ sports \ thibaut \ ballade_menhir_2.jpg"
    ??

    tu concatenes le chemin de l'application et un chemin complet...

    petit à petit....

  5. #5
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    cette ligne me saute aux yeux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Photo = CurrentProject.Path & "U:\Stagiaire_Informatique \ personnel \ photos \ sports \ thibaut \ ballade_menhir_2.jpg"
    1- très étranges ces espaces entre les anti-slash et les noms.
    2- tu concatènes un chemin et un lecteur ...

    CurrentProject.Path équivaut à C:\MonRepertoire\MonSousRepAccess\

    donc le chemin de ta photo devient :
    C:\MonRepertoire\MonSousRepAccess\U:\Stagiaire_Informatique \ personnel \ photos \ sports \ thibaut \ ballade_menhir_2.jpg

    tu ne trouves pas que ça devient étrange ?

    peut-être faudrait-il enveler CurrentProject.Path ?

    CurrentProject.Path n'est à utiliser que lorsque les photos sont dans un sous répertoire de l'application ...
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Ok merci pour vos réponses , cela fait une erreur en moins.

    Ceci dit, il y a encore des erreurs. Quand je clique sur le bouton ajouter commande, il y a une erreur de compilation et "Me.NOM_DES_PHOTOS" est surligné. Faut-il mettre autre chose?
    De plus, "Private Sub Commande2_Click()" est surligné en jaune. J'ai mis "Commande2" car c'est le nom du bouton de commande mais je ne sais pas si c'est bon

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    oups c'est pas "ajouter commande" que je voulais mettre mais "ajouter photo"

  8. #8
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Ton adaptation du code est un peu limite ...

    en effet, tu as mis du code sur l'événement clic de ton image ... au lieu de l'événement Current du form (comme mes commentaires l'expliquent)

    Quant à Commande2, outre le fait que tu devrais utiliser un nom plus adéquat (ex : cmdAddPhoto) regarde que tu as un [procédure évenementielle] dans la propriété clic de ton bouton ...
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  9. #9
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    et j'ajoute qu'ici il manque surement un Else

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Len(Me.Photo) > 0 Then
        Me.imgPhoto.Picture = Me.Photo
        Me.imgPhoto.Picture = CurrentProject.Path & "U:\Stagiaire_Informatique \ personnel \ photos \ sports \ thibaut \ ballade_menhir_2.jpg"
    End If
    je mettrais plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Len(Me.Photo) > 0 Then
        Me.imgPhoto.Picture = Me.Photo
    Else
        Me.imgPhoto.Picture = "U:\Stagiaire_Informatique\personnel\photos\sports\thibaut\ballade_menhir_2.jpg"
    End If
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Merci pour toutes ces précisions mais le bouton cmdPhoto (anciennement Commande 2) ne marche pas, il ya toujours ce problème avec Me.NOM_DES_PHOTOS.
    J'ai mis NOM_DES_PHOTOS car cela correspond au nom qu'on les fichiers photo, mais ca ne fonctionne pas

  11. #11
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    ce topic m'intéresse j'aimerai aussi que ma base affiche une image par défaut lorsqu'aucune na été inséré....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Len(Me.Photo) > 0 Then 
        Me.imgPhoto.Picture = Me.Photo 
    Else 
        Me.imgPhoto.Picture = "U:\Stagiaire_Informatique\personnel\photos\sports\thibaut\ballade_menhir_2.jpg" 
    End If
    que représente me.photo dans ce code svp ???
    comme ca je peux l'appliquer à mon application [/code]

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Personne pour nous aider?

  13. #13
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Citation Envoyé par jeck
    Personne pour nous aider?
    désolé j'étais en train de manger, promis demain personne ne mange...

    Citation Envoyé par Le tutoriel de cafeine
    Me.imgPhoto.Picture = Me.Photo : la propriété .Picture attribue le chemin physique de la photo au contrôle image, ce qui a pour effet son affichage immédiat.

    Le chemin physique a été stocké dans la base via le champ Photo qui est dans le contrôle Photo.
    je ne vois vraiment pas quoi dire de plus

  14. #14
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Le tutoriel de cafeine a écrit:
    Me.imgPhoto.Picture = Me.Photo : la propriété .Picture attribue le chemin physique de la photo au contrôle image, ce qui a pour effet son affichage immédiat.

    Le chemin physique a été stocké dans la base via le champ Photo qui est dans le contrôle Photo.



    je ne vois vraiment pas quoi dire de plus
    Le problème c'est que moi quand je met Me.imgPhoto.Picture, il me met "Erreur de compilation : membre de méthode ou de données introuvables"

  15. #15
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    le tuto de cafeine fonctionne avec un contrôle image (et indique même le bouton dans la barre d'outil avec une petite flèche tellement il est gentil)

    as tu bien un contrôle image nommé imgPhoto?

  16. #16
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Ah ok j'avais un controle image, mais il n'était pas nommé imgphoto.
    Toutefois je ne m'en sors vraiment pas , il y a encore des erreurs.
    Quand je clique sur supprimer photo, il me met erreur d'éxecution 2220 et qu'il ne peut pas ouvrir le fichier. Pourtant j'ai reproduit ce qu'a fait caféine dans son tutorial, et j'ai mis mes photos dans un sous répertoire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.imgPhoto.Picture = CurrentProject.Path & "\Mes_images\ballade_menhir_2.jpg"
    Qu'est ce qui ne va pas?

  17. #17
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    javais la meme erreur je n'ai pas réussi a la résoudre !

  18. #18
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    Vraiment!
    La je ne comprends pas j'ai l'impression d'avoir fait exactement comme dans le tutoriel de caféine. Mais le problème est que c'est la première fois que je me sers de Visual Basic et j'ai du faire une erreur bête.

  19. #19
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    insére les codes peut être vais-je trouver... moi par miracle je sais pas comment ce matin ca fonctionne... alors qu'hier j'avais fait la même chose

  20. #20
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 20
    Points
    20
    Par défaut
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    Private Sub Form_Current()
    'L'évènement activation (current) se produit lorsque le focus passe à un enregistrement
    ' donné pour en faire l'enregistrement en cours ou lorsque le formulaire est
    ' Actualisé ou en Actualisation
     
    'si le nom du salarié est non vide : on visualise un enregistrement
    ' sinon cela indique que nous sommes sur un environnement vierge, donc en cours de saisie.
    ' Me.Caption : gère le titre du formulaire
    If Len(Me.NOM_DES_PHOTOS) > 0 Then
        Me.Caption = "Détails pour la photo : " & Me.NOM_DES_PHOTOS & Me.DATE & Me.OCCASION
    Else
        Me.Caption = "Saisie d'une nouvelle photo"
    End If
     
    'si la photo n'est pas définie, on affiche la photo ballade_menhir_2
    'CurrentProject.Path : est le chemin de l'application
    If Len(Me.Photo) > 0 Then
        Me.imgPhoto.Picture = Me.Photo
    Else
        Me.imgPhoto.Picture = CurrentProject.Path & "\images\ballade_menhir_2.jpg"
    End If
     
    DisplayPhoto
     
    End Sub
    Private Sub CmdDelete_Click()
    'Bouton de commande d'effacement de la photo
     
    'supprime l'adresse de la photo
    Me.Photo = vbNullString
     
    'affiche l'image ballade_menhir_2.jpg
    Me.imgPhoto.Picture = CurrentProject.Path & "\Mes_images\ballade_menhir_2.jpg"
     
     
    End Sub
     
    Private Sub CmdPhoto_Click()
    'Bouton d'ajout - modification de photo
    Dim StrLink As String
     
    'récupération du chemin physique de la photo
    'par la boîte de dialogue
    StrLink = OuvrirUnFichier(Me.Hwnd, _
                             "selectionner une photo pour" & Me.NOM_DES_PHOTOS, _
                             1)
     
    'si la boîte renvoie une adresse non nulle
    If Len(StrLink) > 0 Then
    'tentative d'affichage de la photo
    Me.imgPhoto.pictures = StrLink
    Me.Photo = StrLink
     
    End If
     
    Display Photo
     
    End Sub

    Voila ou j'en suis. Sachant que quand je clique sur le bouton ajouter photo, il y a une erreur de compilation. Dans "sélectionner une photo pour & Me. NOM_DES_PHOTOS", "Me.NOM_DES_PHOTOS" est surligné.
    Ensuite, quand je clique sur supprimer photo ça me fait l'erreur que j'ai décrite plus haut

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Débutant] gestion des photos par Access.
    Par sidisadmir dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/04/2012, 16h48
  2. problème "Gestion de photos par formulaire"
    Par mcharmat dans le forum IHM
    Réponses: 10
    Dernier message: 13/05/2008, 15h47
  3. Gestion de photos par formulaire (erreur 2176)
    Par cams dans le forum VBA Access
    Réponses: 0
    Dernier message: 11/01/2008, 16h49
  4. Réponses: 6
    Dernier message: 08/02/2007, 12h03
  5. Réponses: 7
    Dernier message: 11/04/2006, 17h29

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