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 :

Sous formulaire/actualiser Liste et Table avec champs texte [AC-2007]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 15
    Points
    15
    Par défaut Sous formulaire/actualiser Liste et Table avec champs texte
    Bonjour,

    Comme la plupart des posteurs, je vous écris car j'ai un PB dans la réalisation de l'une de mes idée sur un formulaire access.

    Je n'ai malheureusement pas trouvé mon bonheur avec la recherche sur le forum, que des situations approchante, mais n'ayant pas assez de conaissances en VBA, je ne savais pas si je pouvais adapter le code.

    J'ai 3 Tables:
    EMPLOYES(NumEmploye, NomEmploye, PrenomEmploye)
    VISITES(NumVisite, DateVisite, )
    GROUPES(NumDeNumGroupe, NumGroupe, NumEmploye, NumVisite)

    Dans la Table GROUPES, le champs NumEmploye est une liste qui récupère le Num, Nom Prénom de la table Employé (en cachant le NumEmploye).

    Ensuite, j'ai un formulaire principal ou je saisis:
    DateVisite et ou NumVisite se remplit automatiquement (car NumeroAuto)
    Un sous formulaire dans le form principal qui est un formulaire créé via l'assistant formulaire et qui contient les champs des 2 tables GROUPES et EMPLOYES soit:
    NumGroupe (qui prend par défaut la valeur du Numvisite du formulaire principal).
    GROUPES.NumEmploye(qui est donc une liste déroulantecontenant NomEmploye et PrenomEmploye)
    NomEmploye
    PrenomEmploye

    Mon idée:
    Je souhaite créé pour chaque visite un groupe de 3 personnes c'est à dire créé 3 enregistrements à partir du sous formulaire.
    Ces groupes contiennent des employes qui sont listés grâce à la liste déroulante.
    Si l'employé n'existe pas dans la liste, on saisi son nom et prénom afin de l'ajouter: 1) dans la table employé et 2) dans le groupe.

    Mon problème:
    J'arrive à faire en sorte que la saisie de mon Nom et Prenom ajoute un enregistrement dans la table Employé et dans le Groupe concerné mais, il ne s'affiche pas dans la liste déroulante GROUPE.NumEmploye.

    Pour qu'il apparaisse dans cette liste, il faut que je fasse F5 pour actualiser mon sous formulaire. Mais cette actualisation me ramène sur mon premier enregistrement dans la table ce qui ne me plait pas forcément.
    Je voudrais donc, lorsque je saisis un couple nom, prénom, que ma liste déroulante GROUPE.NumEmploye se mette à jour tout en restant sur mon enregistrement en cours.

    Est ce que vous avez une idée ?
    En vous remerciant pour votre aide !

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 353
    Points : 23 819
    Points
    23 819
    Par défaut
    sur l'événement de GetFocus (Réception du focus) de ta liste déroulante de sélection d'enregistrement mettre le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.NomTaListe.Recordsource=me.NomTaListe.Recordsource
    ça parait un peu stupide comme cela mais cela force Access a actualiser ta liste sans message d'erreur.

    Alternativement, tu peux mettre ce code dans le programme qui gère l'absence dans la liste ce qui évite de le réexécuter même si tu n'as pas ajouter de personne.

    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Je viens d'essayer ta solution mais malheureusement cela n'a pas fonctionné.

    J'ai donc fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    REUNIRPOUR_NUMEMPLOYE_GotFocus() 'le Private sub c'est créé automatiquement
     
    Me.REUNIRPOUR_NUMEMPLOYE.RecordSource=Me.REUNIRPOUR_NUMEMPLOYE.RecordSource
     
    End Sub
    Le problème est un message d'erreur qui me dit:
    Erreur de compilation: Membre de méthode oude données introuvable

    Et le Debogueur me surligne le REUNIRPOUR_NUMEMPLOYE.RecordSource du côté droit de l'égalité.

    Dommage

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 353
    Points : 23 819
    Points
    23 819
    Par défaut
    Pardon j'ai travaillé de mémoire et je me suis planté.

    Voici la bonne propriété

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.REUNIRPOUR_NUMEMPLOYE.RowSource=Me.REUNIRPOUR_NUMEMPLOYE.RowSource
    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Je te remercie, ça fonctionne !

    Résolu

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

Discussions similaires

  1. [AC-2010] Problème maj table avec champs de formulaire
    Par ctsblv dans le forum VBA Access
    Réponses: 8
    Dernier message: 09/04/2013, 21h13
  2. formulaire avec champ texte et listes deroulantes liées
    Par tarah01 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/03/2011, 18h26
  3. [Optimisation] Tables avec champs textes
    Par sietjp dans le forum Administration
    Réponses: 4
    Dernier message: 10/01/2008, 21h21
  4. [BDE] Affichage de la liste des tables et champs
    Par Isa31 dans le forum Bases de données
    Réponses: 4
    Dernier message: 26/05/2005, 11h51
  5. Réponses: 4
    Dernier message: 18/11/2004, 13h26

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