Bonjour tout le monde,
je travaille sur un base de données Access et il m'a été demandé que lorsque je modifie la valeur dans une zone de liste, cette valeur entraine le changement de l'autre valeur de la zone de texte lui correspondant.
J'ai donc suivi un tuto trouvé sur ce site :
Une solution simple consiste à ajouter une colonne au contenu de la zone de liste modifiable.
Cette colonne n'est autre que le champ contenant (dans la table ou requête source de la liste) les données à afficher dans la zone de texte, en fonction du choix fait dans la liste.
Remarque : il est possible de masquer cette colonne en utilisant la propriété Largeur Colonnes de la liste.
Une fois que la colonne à été ajoutée au contenu de la zone de liste, il sera possible d'utiliser l'événement Après Maj de cette-ci et sa propriété Column, pour mettre à jour la valeur de la zone de texte.
Exemple :
Soit une table de Clients (numClient, NomClient...)
On veut que lorsque l'on selectionne le numclient dans une zone de liste, le nom du client selectionné s'affiche dans une zone de texte.
Nous aurons à définir les propriétés de la zone de liste par exemple comme ceci :
Type Contenu : table/requete
Contenu : SELECT NumClient,NomClient FROM TblClient
NbColonne : 2
Colonne liée : 1
Largeurs colonnes : 2; 0 (0 sert à masquer une colonne...)
Puis dans le code :
Private Sub MaListe_AfterUpdate()
MaTextBox = MaListe.Column(1) 'J'ai mis 1 comme numéro de colonne mais
'le numéro réel doit être le numéro de la colonne affichant les initiales moins 1.
End Sub
Tout ceci marche bien sur access 2003, mais en l'essayant ce matin sur access 2007 sous vista, plus rien ne marche. Le code est bien présent, c'est bien la bonne base utilisée mais ça ne marche pas quand même.
Avez-vous une idée ?
Partager