Filtré un formulaire grâce à un autre

Perdu dans access Messages postés 6 Statut Membre -  
Perdu dans access Messages postés 6 Statut Membre -
Bonsoir,

Je demande conseil à plus érudit que moi, (et ça ne doit pas être difficile à trouver !!).
J'ai créé deux formulaire:
-le premier (intitulé => CMOS): un qui recense une liste de personnes avec des caractéristiques
- le deuxième (intitulé => Formation) : un autre pour un suivi de formation

Je voudrais ouvrir le deuxième formulaire avec, comme référence, le nom de la personne sélectionné dans le premier formulaire.
Et je veux accéder à mon deuxième formulaire grâce à un bouton.
J'ai déjà rentrer le code suivant:

Private Sub Commande131_Click()
'Ouvrir Validation hôtels
DoCmd.Close
DoCmd.OpenForm "Validation hôtel"
End Sub

Et effectivement, je veux qu'il garde en mémoire le nom du CMOS (du premier formulaire) pour qu'il puisse filtré le deuxième formulaire qu'avec les données de ce même CMOS (champ agent dans le deuxième formulaire)

Le champ de référence s'appelle CMOS dans le formulaire CMOS
Le champ à référencer s'appelle Agent dans le formualire Formation

Merci d'avance

Perdu dans Access
A voir également:

4 réponses

phil232 Messages postés 610 Statut Membre 178
 
Première grosse erreur : "comme référence, le nom de la personne"
tu trouves que "M Dupont" est une réf à une seule personne dans le monde entier ? Tsk, tsk, tsk. Il faut utiliser un ID sinon houlaaaa ça donnera des surprises.

2ème erreur : "Commande131", ça devrait s'appeller p.ex. btnOpenForm ou cmdView Client ou que sais-je. Une fois dans le code tu ne sauras plus sans vérifier à quoi sert Commande131.

3ème erreur : "Validation hôtel". On n'utilise pas d'éspace ou des caractères ASCII > 127, ça fait que poser des pb. Si tu veux un beau titre utilise la propriété Caption

Private Sub Commande131_Click()

dim f as new MyForm ' cad "Validation hôtel"

f.DataSource="SELECT * FROM MyTable WHERE ID = '" & me.txtID & "'"

End Sub

mais OpenForm a aussi un param (le dernier) que tu peut exploiter à l'ouverture de l'autre form (Me.OpenArgs)

D'ailleurs : pas beesoin de fermer le premier formulaire
0
Perdu dans access Messages postés 6 Statut Membre
 
J'ai fait comme du à écrit, mais ça ne marche pas.
Il bloque sur & me.txtID
0
phil232 Messages postés 610 Statut Membre 178
 
Est-ce que tu as un champ txtID dans ta forme. si oui qu'y a-t-il dedans

Si tu vas en debogage et tu t'arretes juste apres f.DataSource = , tu fais CTRL-G puis ?f.DataSource quel est le résultat ?

sinon quel message d'erreur ?
0
Perdu dans access Messages postés 6 Statut Membre
 
Bonjour

Désolé pour le retard de réponse, mais travail oblige.

Je n'ai pas de champ appelé txtID.
Quand je fais la manip "exécution" de "?f.DataSource", il m'indique "Erreur d'éxécution 424" "Objet requis"
0