Récuperer une valeur d'un autre formulaire

Résolu
Titi32600 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous

Je souhaiterais à l'ouverture de mon formulaire 2, récupérer la valeur d'un champ située dans mon formulaire 1 (qui reste ouvert).

j'ai inscrit dans mon formulaire 2 la procédure en ouverture :

Me![ID_FI] = Forms![creation_Intervention]![ID_FI]
me![ID_FI] "champs à mettre à jour"

[creation_Intervention] "formulaire 1

mais j'obtiens une erreur

Merci encore de votre aide.

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
Peut-être :
Forms("[creation_Intervention]").Controls("[ID_FI]")
1
Titi32600 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   2
 
Salut yg_be
Merci encore de ta procédure. Elle fonctionne bien.

Mais elle ne fonctionne que si la valeur [ID_FI], n'est pas reliée à une source contrôle, sinon, si elle reliée à une source d'une table, j'obtiens un code erreur.

titi32600
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Comme tu as deux fois [ID_FI], merci de clarifier lequel pose problème quand relié à une source.
Je pense que tu devrais expliquer plus globalement ce que tu fais avec tes deux formulaires, et quel est le rôle de [ID_FI] dans chacun des formulaires et dans la table.
Sinon nous risquons de t'aider à progresser dans une mauvaise direction.
0
Titi32600 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   2
 
Pas de problème

NOTA : j’ai renommé les champs [ID_FI] des différents formulaires, afin d’éviter les confusions.

Dans un formulaire nommé « Creation_Intervention », je rentre la date de création, et un N° de fiche est créé.

Suivant le type d’intervention, un second formulaire est ouvert. Dans mon exemple, c’est le formulaire « Creation_Fiche_Corrective ».

A l’ouverture de celui-ci, le code VBA devra copier le champ [ID_creation_FI] du formulaire « Creation_Intervention », pour le coller dans le champ [ID_FI_Correctif] du formulaire actuel.

Le champ [ID_FI_Correctif], est relié à la source contrôle : ID_FI_Correctif de la table « Fiches_Correctives ».

Le code VBA fonctionne très bien, si le champ [ID_FI_Correctif], est indépendant, mais si, comme dans mon exemple, il est relié à une table, il ne fonctionne pas.

tit32600
1
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Je suppose ceci :
1) Le formulaire « Creation_Intervention » crée un nouvel enregistrement dans la table «Fiches_Correctives »
2) Le formulaire « Creation_Fiche_Corrective » est ouvert pour afficher et permettre de modifier ce nouvel enregistrement.
Si je n'ai pas compris, merci d'expliquer.
Si j'ai compris, je pense que tu dois, dans l'instruction d'ouverture du second formulaire, préciser quel est l'enregistrement à afficher, au lieu de le faire ensuite, dans la procédure en ouverture.
Exemple :
DoCmd.OpenForm "Creation_Fiche_Corrective", , ,"ID_FI_Correctif  = " & Me.[ID_creation_FI]
0
Titi32600 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   2 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
re

Effectivement,tu as bien compris, mais suivant la formule que tu indiques, rien ne s'affiche à l'ouverture du deuxième formulaire
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
C'est sans doute le bon moment pour partager ton fichier, ou d'expliquer :
- comment le formulaire "Creation_Fiche_Corrective" est appelé
- comment il est lié à la table « Fiches_Correctives »
0