[access] données copiées entre 2 formulaires

Résolu
Bonjour,
je crée un base sous access, j'ai un formulaire "clients" et un formulaire "animaux", chaque client peut avoir plusieurs animaux. Les deux formulaires sont liées par le champ "N° client". Je voudrais que sur un bouton click "ajouteranimal" mon formulaire "animaux" s'ouvre sur un formulaire vierge mais en inscrivant automatiquement le "N° client" correspondant au "N° client" du formulaire où je me trouvais lors du click.
Merci d'avance.
Configuration: Windows XP
Internet Explorer 6.0

10 réponses

  1. Bonjour,

    Pour ouvrir ton formulaire tu utilises une macro ou du code VBA ??
    0
    1. J'utilise un code VBA mais je peux une macro si il faut, je suis débutante, c'est ma première base.
      0
      1. Voilà le code que j'ai mis, mais je ne peux que ouvrir un nouveau formulaire, ça ne me recopie pas le "N° client" automatiquement :Private Sub ajouteranimaux_Click()
        On Error GoTo Err_ajouteranimaux_Click

        Dim stDocName As String

        stDocName = "animaux"
        DoCmd.OpenForm stDocName, , , , acFormAdd, acDialog, "GoToNew"

        Exit_ajouteranimaux_Click:
        Exit Sub

        Err_ajouteranimaux_Click:
        MsgBox Err.Description
        Resume Exit_ajouteranimaux_Click

        End Sub
        0
        1. Bon je vois

          DoCmd.OpenForm stDocName, , , , acFormAdd, acDialog, "GoToNew"

          peux tu me dire à quoi correspond l'argument "GoToNew"
          0
      2. Tant mieux je préfère le VBA

        Sur l'évènement "Sur click" de ton bouton il faut ouvrir ton formulaire puis renseigner la valeur n° client

        Docmd.openform "animaux"
        [N° client] = forms![clients]![N° client]

        Et voila c'est tout
        0
        1. J'avais déjà essayé, et je viens de reessayer, ça marche pas, le champ "N° client" reste vierge, par contre il est construit sous forme de liste déroulante qui m'affiche le nom du client, ça vient peut-être de là ?
          0
          1. Pour moi, "GoToNew" était pour aller à un nouvel enregistrement, mais je fais un peu au hasard ?????
            0
            1. En fait si tu as mis dans ton code

              DoCmd.OpenForm stDocName, , , , acFormAdd, acDialog, "GoToNew"
              [N° client] = forms![clients]![N° client]


              Ca ne peut pas marcher car l'option acDialog bloque l'éxécution de la commande suivante [N° client] = forms![clients]![N° client]</gras>

              Pour que ca fonctionne enlève acDialog
              0
              1. Il me répond "impossible d'attribuer une valeur à cet objet"
                0
                1. Cela m'étonne mais essai ca pour voir

                  forms![animaux]![N° client] = forms![clients]![N° client]
                  0
                  1. OK là ça marche, merci pour ton aide, c'est sympa.
                    Bonne journée
                    0