Remplir un formulaire à partir d'un autre

Résolu/Fermé
Melycea - 2 juil. 2012 à 14:09
 Melycea - 3 juil. 2012 à 11:18
Bonjour à tous,

Je développe une application sous Access 97.
Actuellement, je suis en train de mettre en place des formulaires pour faciliter l'accès aux utilisateurs.
Dans un formulaire, en sélectionnant une valeur dans une liste de choix "Référence", tous les champs se remplissent en allant chercher des informations dans différentes tables. C'est un genre de fiche technique pour un produit.
Dans un second formulaire, j'affiche (entre autre choses), une feuille de données reliées à une requête. Cette requête contient le champ "Référence", on peut l'apparentée à une liste de courses par exemple.
Et donc, je voudrai, si c'est possible, que quand on double clique sur une référence de cette feuille de données, le premier formulaire s'ouvre en étant rempli suivant cette référence.
Ou pour suivre l'exemple, qu'en sélectionnant une référence de la liste de course, la fiche technique de cette référence s'affiche.

J'espère que c'est suffisament clair, sinon, n'hésitez pas à me demander des précisions.

Merci pour vos réponses.


9 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 juil. 2012 à 17:16
Bonjour,
Cela est faisable. Connaissez vous la programmation VBA ACCESS?????
0
Merci d'avoir répondu.

Je connais le vba access, j'ai justement essayer de crér une procédure, pour faire tout ça. Mais déjà, ce que je trouve bizare c'est que je peux seulement créer une procédure sur "Enter" et pas sur "DblClick". C'est normal?!

Ensuite, je ne sais pas comment récupérer la valeur de la référencec sur laquelle on a cliqué ... ?!
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 juil. 2012 à 17:28
Re,
Si votre formulaire est en mode feuille de donnees ou pas , vous avez des textbox qui recoivent vos infos. Ces textbox ont dans les proprietes evenements: clic,doubleclic. Quand est il pour vous????
0
Dans mon cas, mon premier formulaire contient un sous-formulaire en feuille de données. Et c'est en cliquant sur le sous-formulaire (dans le formulaire principal) que je voudrai récupérer les informations du "clic".
Enfin, je sais pas si c'est très clair...

Mais je vois pas du tout où récupérer ces informations?!
De quels textbox parles-tu?!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
3 juil. 2012 à 08:58
Bonjour,
De quels textbox parles-tu?!
Les infos s'affichent dans un champ qui est en general une textbox (voir dans le sous-formulaire en mode creation).
0
D'accord!
J'avais cherché de ce côté là et j'ai commencé à faire le code suivant :

Private Sub SousForm_Enter()

Dim strRef As String

strRef = Forms![Formulaire1].Form![SousFormulaire]![Ref].Value
DoCmd.OpenForm "Formulaire2", acNormal, , "[Référence]=" & strRef, _ acFormReadOnly

End Sub


Mais la procédure bug au niveau de la ligne en gras avec comme message d'erreur "Impossible de trouver le champ SousFormulaire auquel il est fait référence dans votre expression."
Sauf que "SousFormulaire" n'est pas un champ, mais le sous-formulaire feuille de données qui contient le champ "Ref".
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
3 juil. 2012 à 09:15
Re,
Sauf si je n'ai pas tout compris, le plus simple est de mettre le code dans le VBA du sous-formulaire.
0
Merci!
ça marche un petit peu mieux!

Par contre, j'ai encore un petit soucis...
Pour le moment, dans le formulaire1, je double-clique sur un enregistrement (du sous formulaire) et le formulaire2 s'ouvre en mettant la référence sur laquelle j'ai cliqué dans le contrôle "Référence".
Mais par contre, les autres contrôles de ce formulaire2 ne se remplissent pas ...

Est-ce qu'il y a une "commande" pour lancer la procédure "AfterUpdate" du contrôle "Référence" sans devoir le faire manuellement?! Ou un genre de mise à jour de formulaire?!
0
En fait, j'ai pensé que je pouvais appeler directement la procédure qui rempli le formulaire2:
Call Reference_AfterUpdate()


Mais il ne reconnait pas la procédure.
Comment je pourrai faire pour contourner ce problème?!
0
J'ai finalement trouvé ma solution sur un autre forum.
Il faut faire :
Forms![Formulaire2].Refernce_AfterUpdate


Merci quand même!
0