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 -
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.
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.
A voir également:
- Vba access récupérer valeur champ formulaire
- Whatsapp formulaire opposition - Guide
- Recuperer message whatsapp supprimé - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Comment récupérer un compte facebook piraté - Guide
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]")
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
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
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 :
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]
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 »
- comment le formulaire "Creation_Fiche_Corrective" est appelé
- comment il est lié à la table « Fiches_Correctives »
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
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.