Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/12/2010, 19h37   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 24
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 24
Points : 4
Points : 4
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 .
Matt014 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 10h15   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 080
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 080
Points : 11 615
Points : 11 615
Bonjour,

Voir la clause Where de la commande docmd.openform.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 10h27   #3
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

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

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
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 :
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 :
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 :
1
2
3
4
Private Sub List_devi_NotInList(NewData As String, Response As Integer)
List_devi = NewData
Response = True
End Sub
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 13h45   #4
Invité de passage
 
Inscription : décembre 2010
Messages : 24
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 24
Points : 4
Points : 4
Merci tout le monde j'ai réussi
Merci pour vos réponses.
Matt014 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h08.


 
 
 
 
Partenaires

Hébergement Web