[Access/VB] formulaire

formulaire [Access/VB] - VB/VBA/VBS - Programmation

Marsh Posté le 20-07-2004 à 13:15:07    

Dans un formulaire, j'ai :
 
- des champs d'une table X (nom, prénom, adresse, code postal...)
- une liste déroulante (de deux colonnes) : nom et prénom, alimentée par une table Y
 
Je souhaiterais, lorsque je sélectionne une personne dans ma liste déroulante, qu'il remplisse les champs X, avec les informations contenuent dans la table Y.
 
Comment faire cela ??
 
Merci d'avance.

Reply

Marsh Posté le 20-07-2004 à 13:15:07   

Reply

Marsh Posté le 20-07-2004 à 14:20:19    

L'idéal serait d'avoir dans ta table X qu'ne seule clé étrangère de ta table Y. Ici tu en as deux : nom et prénom.
Enfin, je ne connais pas ton modèle !  
Bref, ... appliqué à ton modèle, voilà comment je ferais :
lorsqu'on sélectionne le nom et le prénom dans le combobox, on transmet ces  valeurs dans une procédure qui exécute une requete avec pour critère de sélection les 2 paramètres. On obtient ainsi un résultat (unique !). Alors là on peut remplir les composant du formulaire.
Je sais pas si j'ai été très clair ?

Reply

Marsh Posté le 20-07-2004 à 14:37:14    

effectivement, je n'ai pas tout compris, et je vais réexpliquer mon problème plus clairement :
 
table Y (toutes les personnes) : identifiant (clé primaire), nom, prénom, adresse,...
 
table X (certaines personnes et plusieurs autres champs) : identifiant (clé primaire), nom, prénom, adresse,... (et des champs ne se trouvant pas dans Y)
 
 
formulaire : pour ne pas devoir réencoder toutes les personnes que je désire mettre dans la table X, je désire mettre une liste déroulante qui prendrais toutes les info sur une personne dans Y, et les placerais dans les champs de mon formulaire (destiné à enregistrer les personnes dans X)

Reply

Marsh Posté le 20-07-2004 à 14:43:58    

Je ne comprends pas pourquoi tu répètes les champs de Y dans X ! Ne recense que les champs non existants dans Y et dans X ajoute comme clé étrangère la clé primaire de Y !
Non ?

Reply

Marsh Posté le 20-07-2004 à 15:01:01    

Ma table Y est pleine, tandis que ma table X est vide et ne requiert que certaines personnes de Y.
 
Pour des raisons trop longue a expliquer, j'ai besoin d'une table contenant tout le monde (Y), et plusieurs tables (X), contenant certaines personnes et certaines informations.
 
Donc lorsque j'encode une nouvelle personne dans X, l'idéal serait de prendre les informations voulues dans Y, et de les placer dans les champs de mon formulaire et par la même occasion, remplir les champs "spéciaux".

Reply

Marsh Posté le 20-07-2004 à 15:11:17    

Ok !
Je reviens donc à mes explications :
Lorsque tu as cliqué sur une ligne de ton comboBox donc sur un nom et un prénom, tu dois lancer une procédure ayant pour paramètres "nom" et "prénom" (de ton combobox). Cette procédure exécute une requete basée sur la table Y et s'appuyant sur les paramètres afin d'obtenir un (normalement un seul) enregistrement de cette table. Tu obtiens danc un recordset (enregistrement) qui va te permettre de remplir les objets de ton formulaire.
 
Cela dit, pour plus de certitudes concernant l'unicité de l'enregistrement, je stockerai (de façon cachée) la clé primaire de ta table Y et c'est cette info que je passerai en paramètre.
 
Compris ?

Reply

Marsh Posté le 20-07-2004 à 16:28:54    

Oui oui !
 
Merci bien =)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed