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

GDX Messages postés 239 Statut Membre -  
blux Messages postés 2068 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. blux Messages postés 2068 Date d'inscription   Statut Modérateur Dernière intervention   3 456
     
    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
  2. GDX Messages postés 239 Statut Membre 9
     
    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
    1. blux Messages postés 2068 Date d'inscription   Statut Modérateur Dernière intervention   3 456
       
      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
  3. GDX Messages postés 239 Statut Membre 9
     
    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