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 :

Ouvrir formulaire sur enregistrement liste déroulante. [AC-2003]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Ouvrir formulaire sur enregistrement liste déroulante.
    Bonjour a tous!
    J'ai une question, je travaille actuellement sur mon projet de DUT informatique, et donc j'aimerais savoir comment faire pour ouvrir un formulaire sur un enregistrement renseigné dans une liste déroulante.

    J'ai un formulaire ou ce trouve une liste déroulante d'ID utilisateur, et j'aimerais qu'en cliquant sur la ligne de la liste déroulante (Dans le liste ce trouve des ID) que ce clic ouvre mon formulaire permettant de modifier les informations de cette utilisateur.

    Merci d'avance .

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 034
    Points : 24 605
    Points
    24 605
    Par défaut
    Bonjour,

    Voir la clause Where de la commande docmd.openform.

    Cordialement,

  3. #3
    Membre expérimenté
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Points : 1 598
    Points
    1 598
    Par défaut
    Hello
    j'uitlise beaucoup ce principe:
    sur mon formulaire démarrage, j'ai des listes déroulantes et à coté de chacune, un bouton avec ce genre de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Devis_Click()
    If List_devi > 0 Then
        DoCmd.OpenForm "Devis", , , "N°devis=forms!démarrage!list_devi"
    Else
        DoCmd.OpenForm "Devis"
        DoCmd.GoToRecord acDataForm, "Devis", acNewRec
    End If
    End Sub
    ce qui me permet d'utiliser la même liste, le même bouton, et le même formulaire pour modifer unn devis qui est dans la liste ou ajouterr un nouveau devis si la liste est vide.

    Chez moi, le code pour les personnes est un peu plus compliqué, vu qu'une personne appartient forcément à une entreprise, c'est peeut être différent chez toi, enfin voilà le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Personne_bouton_Click()
    If IsNull(Personne_liste) Or Personne_liste = "" Then
        Entreprise_Liste = ""
        DoCmd.OpenForm "Entreprises"
    Else
        Entreprise_Liste = DLookup("Entreprise", "Contacts", "N°_contact=Personne_liste")
        Entreprise_Liste_Change 'fonction pour changer le "caption" du bouton avec client ou fournisseur
        DoCmd.OpenForm "Entreprises", , , "N°_entreprise = forms!démarrage!Entreprise_Liste"
    End If
    End Sub
    NB: pour la maintenabilité, il est indispensable de bien nommer les listes déroulantes et les boutons

    Pour répondre à ton envie d'avoir le résultat en cliquant sur la liste, tu peux changer d'évènement mais tu dois faire attention car l'évènement clic intervient dès que tu accède à la liste avec la souris. C'est pour ça que je préfère cliquer sur le bouton à coté de la liste.
    Pour l'ergonomie, je travaille l'ordre de tabulation de façon à ce que le bouton arrive juste après la liste, ce qui fait qu'en tapant entrée, entrée, on a le formulaire ouvert.

    Astuce: par l'évènement notinlist, tu peux éventuellement permettre le clic sur un élément de la liste ou accepter la frappe d'un numéro, ce qui est souvent plus rapide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub List_devi_NotInList(NewData As String, Response As Integer)
    List_devi = NewData
    Response = True
    End Sub

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Merci tout le monde j'ai réussi
    Merci pour vos réponses.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/11/2014, 20h06
  2. Réponses: 6
    Dernier message: 09/06/2014, 01h40
  3. Réponses: 2
    Dernier message: 21/12/2006, 09h26
  4. Débutant : ouvrir un formulaire sur enregistrement
    Par energies dans le forum Access
    Réponses: 2
    Dernier message: 12/09/2006, 16h46
  5. Code : ouvrir un formulaire sur enregistrement precis
    Par mat75019 dans le forum Access
    Réponses: 19
    Dernier message: 10/04/2006, 18h50

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