Envoyer des données d'un formulaire à un autre

Fermé
GDX Messages postés 219 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 16 janvier 2020 - 5 avril 2013 à 13:52
blux Messages postés 25962 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 avril 2024 - 5 avril 2013 à 16:49
Bonjour,

J'ai un formulaire A (FormA) avec deux champs (1 et 2) texte et un bouton (Press).

J'ai un formulaire B (FormB) avec deux champs (3 et 4).


Lors de l'appuie sur le bouton Press, je veux que la valeur dans le champ 3 soit la valeur compris dans le champ 1 du 1er formulaire.

Et que le champ 4 = champ 2.

J'ai déjà eu un programme fonctionnel.

Voici le code :

Private Sub Press_Click()
On Error GoTo Err_Press_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "FormB"
    
    stLinkCriteria = "[3]=" & 1 & "AND [4]='" & 2 & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    DoCmd.Close acForm, "FormA"

Exit_Press_Click:
    Exit Sub

Err_Press_Click:
    MsgBox Err.Description
    Resume Exit_Press_Click
    
End Sub


Ce code fonctionne mais il faut que les champs de mon formulaire B aient une source de controle issus d'une table.
Or moi je veux qu'ils soient indépendants.
Comment dois-je faire ?

Merci,

GDX

3 réponses

blux Messages postés 25962 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 avril 2024 3 284
Modifié par blux le 5/04/2013 à 14:05
Salut,

essaye ça, pour voir :

Forms("FormB")("champ3").text=Forms("FormA")("champ1").text 
A+ blux
 "Les cons, ça ose tout.  
C'est même à ça qu'on les reconnait"
0
GDX Messages postés 219 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 16 janvier 2020 9
5 avril 2013 à 16:31
Merci,

ça ne marche pas, ça me met l'erreur suivante.

Erreur d'execution '2185' :
Impossible de faire référence à une propriété ou de la définirpour un contrôle si ce dernier n'est pas activé.

J'ai essayé plusieurs méthode :

- code placé dans Private Sub Press_Click() du formA

- code placé dans Private Sub Form_Load() du formB

- code placé dans Private Sub champ3_Exit(Cancel As Integer) du formB pour laisser le temps au formulaire B de s'ouvrir correctement

Bien sur dans tous les cas, j'ai laissé le formulaire A ouvert.
0
blux Messages postés 25962 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 avril 2024 3 284
Modifié par blux le 5/04/2013 à 16:50
J'ai essayé en supprimant .text (j'avais un doute sur la syntaxe), j'ai mis le code dans un bouton du formulaire2 et en laissant formulaire1 ouvert.

Forms("formulaire2")("texte0") = Forms("formulaire1")("texte8")
0
GDX Messages postés 219 Date d'inscription lundi 27 avril 2009 Statut Membre Dernière intervention 16 janvier 2020 9
5 avril 2013 à 16:45
Je pense avoir trouver une piste.

Dans les propriétés de du champ3 et dans valeur par défaut, je met :

=[Formulaires]![FormA]![Champ1]

Je continuerez lundi,

Merci et bon week-end

GDX
0