J'espère que mes explications ne sont pas trop confuses...
Il faut essayer d'^tre le plus explicit possible afin d'éviter les erreurs du à un mauvais interprétation ![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
C'est normal si la clé est "projet" et non pas "NAuto" ![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
En fait il faut que ça ouvre le formulaire "projet" en fonction du n° de projet indiqué dans le champ "projet" du formulaire de recherche "F_RappelAction-AttenteRep"
...
La clef principal de la table projet est : projet
Donc si je comprend bien dans le champ "Projet", j'ai un numérique qui représente le N° unique du projet ?
Dans ce cas il faut faire la condition where ainsi :
docmd.OpenForm "Projet",acDesign,,"Projet=" & Projet
et en plus que l'on puisse pointer sur l'enregistrement du sous-formulaire "ProjetSousFormHistorique" du formulaire "projet"
La clef principal de la table en lien avec la table projet s'affichant dans le sous-formulaire "ProjetSousFormHistorique" dont est : NAuto
Chaque chose en son temps. ![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
Ouvron déjà le formulaire projet sur le bon projet ![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
Ensuite la relation père fils permetra automatiquement d'afficher les bonnes information dans le sous formulaire "ProjetSousFormHistorique" ![;)](https://www.developpez.net/forums/images/smilies/icon_wink.gif)
La question, est : peux tu avoir plusieurs lignes dans ce sous formulaire ?
Si oui, regarde ce petit lien ou j'explique comment se positionner directement sur le bon enregistrement dans un formulaire: ici
Ensuite l'appel à cette procédure pourra se faire à l'ouverture de ton formulaire.
Tu peux passer en paramètre lors de l'ouverture de ton formulaire le champ NAuto avec la syntaxe suivante :
docmd.OpenForm "Projet",acDesign,,"Projet=" & Projet,,,[NAuto]
Ensuite à l'ouverture de ton formulaire "Projet", tu peux tester si un argument à été passé ou pas afin de te positionner le cas échéant sur ta bonne ligne.
Avec le code suivant :
1 2 3 4 5
| Private Sub Form_Open(Cancel As Integer)
If Me.OpenArgs <> "" Then
Positionne [ProjetSousFormHistorique].Form, "Nauto", Me.OpenArgs, vbLong
End If
End Sub |
Partager