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 :

Liste déroulante et mise à jour


Sujet :

IHM

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut Liste déroulante et mise à jour
    Bonjour à tous,

    je viens de m'apercevoir d'un problème sur ma base. Je m'explique:
    - j'ai une table (Tbl JG) avec les noms et prénoms de jeunes dont je m'occupe.
    - j'ai une table (Tbl Entretiens) avec les dates, compte rendu et noms des JG que j'ai été voir chez eux, et avec qui j'ai parlé...
    - j'ai un formulaire (Frm Entretiens) pour rentrer le sinformations qui seront contenues dans la table Tbl Entretiens.

    Bref tout fontionne, à un détail près.

    Sur mon fomrulaire entretiens, j'ai deux listes déroulantes. la première [Lst JG] permet de sélectionner un JG par son nom et prénom. Une fois le jeune sélectionné, j'ai un code évenementiel qui met à jour la deuxième liste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub LstJG_AfterUpdate()
    Forms![Frm Entretiens]![LstDate].Requery
    End Sub
    La deuxième [Lst Date] permet de sélectionner les différentes dates d'entretien par JG. Voici le code évenementiel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub LstDate_AfterUpdate()
        ' Rechercher l'enregistrement correspondant au contrôle.
        Dim rs As Object
     
        Set rs = Me.Recordset.Clone
            rs.FindFirst "[Date] = #" & Format(Me![LstDate], "mm\/dd\/yyyy") & "#"
        Me.Bookmark = rs.Bookmark
    End Sub
    Donc si j'ai été assez clair, vous aurez compris que grâce à ces deux listes déroulantes, je peux 1- choisir un jeune, 2- choisir une date d'entretien déjà fait. Après ces deux choix faits, le formulaire m'affiche donc l'entretien du jeune sélectionné à la date sélectionné....

    Là encore tout cela fonctionne. Voilà enfin le problème:
    -Lorsque j'ai eu des entretiens avec des jeunes le même jour il y a un problème. par exemple, si je visite Maxime et Adrien le 14/01/2000, lorsque je sélectionne Maxime, puis le 14/01/2000, j'ai l'entretien d'Adrien qui s'affiche. Si je change la date en mettant par exemple le 15/01 pour Maxime et en laissant le 14/01 pour Adrien, tout fonctionne.

    En réflichissant un peu, je pense que le problème vient de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub LstDate_AfterUpdate()
        ' Rechercher l'enregistrement correspondant au contrôle.
        Dim rs As Object
     
        Set rs = Me.Recordset.Clone
            rs.FindFirst "[Date] = #" & Format(Me![LstDate], "mm\/dd\/yyyy") & "#"
        Me.Bookmark = rs.Bookmark
    End Sub
    Sur la liste déroulante des dates [Lst date]. Moi ce que je veux, c'est que ça choisit pas une date précise, mais une date précise par rapport au jeune sélectionné avec [Lst JG]...

    Est-ce assez clair? Avez vous une idée?

    merci beaucoup

  2. #2
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonjour,

    Si j'ai bien compris, il te suffit d'ajouter un critère dans ton findfirst.

    quelque chose du genre (non testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rs.FindFirst "[Date] = #" & Format(Me![LstDate], "mm\/dd\/yyyy") & "#" & _
                    " AND [NomduChampIdentifiantle Jeune dans tblEntretiens] = " & Me("lst LG")
    SI ton champ identifiant le jeune est de type texte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rs.FindFirst "[Date] = #" & Format(Me![LstDate], "mm\/dd\/yyyy") & "#" & _
                    " AND [NomduChampIdentifiantle Jeune dans tblEntretiens] = '" & Me("lst LG")
    & "'"

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut
    Merci beaucoup à toi pour ta réponse...
    Malheureusement, ça ne marche pas... Mais peut être que j'ai mal compris....
    Je joins une capture d'écran pour que vous puissiez mieux visualiser de quoi je parle.

    Voici ce que j'ai rentré comme code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub LstDate_AfterUpdate()
        ' Rechercher l'enregistrement correspondant au contrôle.
        Dim rs As Object
     
        Set rs = Me.Recordset.Clone
            rs.FindFirst "[Date] = #" & Format(Me![LstDate], "mm\/dd\/yyyy") & "#"
            " AND [Tbl Entretien.Id JG] = " & Me("LstJG")
         Me.Bookmark = rs.Bookmark
    End Sub
    LstDate est ma liste de dates d'entreties
    LstJG est le nom de mes jeunes

    Ca me dit:
    Erreur de compilation:
    Attendu: numéro de lign ou étiquette ou instruction ou fin d'instruction

    Qu'ai-je fait de mauvais??
    Images attachées Images attachées  

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Par défaut


    Peut-être une faute de frappe dans le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub LstDate_AfterUpdate()
        ' Rechercher l'enregistrement correspondant au contrôle.
        Dim rs As Object
     
        Set rs = Me.Recordset.Clone
            rs.FindFirst "[Date] = #" & Format(Me![LstDate], "mm\/dd\/yyyy") & "#"
            " AND [Tbl Entretien].[Id JG] = " & Me.LstJG
         Me.Bookmark = rs.Bookmark
    End Sub
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut
    Merci beaucoup pour vos efforts, mais cela ne marche toujours pas.... j'ai encore cherché à régler le problème, mais je ne suis pas un pro et je ne trouve pas!!

    En tout, c'est quasi sur que le problème vienne de cette portion de code "AfterUpdate" de la liste déroulante LstDate.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    " AND [Tbl Entretien].[Id JG] = " & Me.LstJG
    le ME, c'est quoi? C'est la lstdate?

    Bref je suis perdu et limite désespéré!!!!

    Merci à tous

  6. #6
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Le champ [Id JG] doit faire partie de la source de ton formulaire, dont tu fais un clone...

    Si c'est bien le cas... tu n'as pas besoin de nommer la table logiquement...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[Id JG] = " & Me!LstJG

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut
    Malheureusement, ça ne marche tjrs pas.... J'ai créé une version light de cette base, avec juste les tables et le formulaire avec lequel j'ai un problème.

    Vous pouvez le télécharger sur
    http://dl.free.fr/kjODkyrP3/bd1.zip

    j'ai mis "access" comme mot de passe. mon email est "meafpc@hotmail.com".

    Je sais pas si ça peut vous aider un peu plus... Parce que c'est bien embetant tout ça!!

  8. #8
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Je n'ai pas pu tout regarder (pb dans le fichier importé... mais je suis sous Vista / Access 2007...)

    J'ai juste pu ouvrir la source de ton form. Je ne comprends pas pourquoi tu mets le champ ID JG depuis deux tables... celui de la table suffit non?


    PS: je suppose que tu te rends compte au combien il est préférable de ne pas mettre d'espaces dans les noms d'objets


    Bon j'ai plus le temps là ... bon courage

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut
    Oui c'est vrai c'est bizarre... mais je ne me rappelle plus pourquoi j'ai fait ça!! Mais de toutes façons, en ne mettant qu'une table, ca ne marche pas non plus....
    La seule solution intermédiaire que j'ai trouvé pour le moment qui n'est pas une vraie solution, c'est d'interndire les doublons sur les dates!! Mis bon c'est pas terrible!!!

Discussions similaires

  1. [WD-2010] Zone de liste déroulante et mise à jour du document
    Par hackel dans le forum Word
    Réponses: 4
    Dernier message: 21/08/2011, 22h46
  2. [Toutes versions] Liste déroulante et mise à jour du lexique
    Par auben dans le forum Modélisation
    Réponses: 1
    Dernier message: 03/02/2010, 21h01
  3. liste déroulante et mise à jour de celle-ci
    Par ludwigMatrix dans le forum IHM
    Réponses: 2
    Dernier message: 08/11/2007, 19h02
  4. liste déroulante et mise à jour
    Par x0249 dans le forum IHM
    Réponses: 3
    Dernier message: 21/05/2007, 09h34
  5. Liste déroulante avec mise à jour champ en dynamique
    Par B-Pascal dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/07/2006, 15h53

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