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

Résolu
SAYLA Messages postés 51 Statut Membre -  
SAYLA Messages postés 51 Statut Membre -
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. hervelot Messages postés 535 Statut Membre 123
     
    Bonjour,

    Pour ouvrir ton formulaire tu utilises une macro ou du code VBA ??
    0
  2. SAYLA Messages postés 51 Statut Membre
     
    J'utilise un code VBA mais je peux une macro si il faut, je suis débutante, c'est ma première base.
    0
  3. SAYLA Messages postés 51 Statut Membre
     
    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. hervelot Messages postés 535 Statut Membre 123
       
      Bon je vois

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

      peux tu me dire à quoi correspond l'argument "GoToNew"
      0
  4. hervelot Messages postés 535 Statut Membre 123
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. SAYLA Messages postés 51 Statut Membre
     
    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
  7. SAYLA Messages postés 51 Statut Membre
     
    Pour moi, "GoToNew" était pour aller à un nouvel enregistrement, mais je fais un peu au hasard ?????
    0
  8. hervelot Messages postés 535 Statut Membre 123
     
    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
  9. SAYLA Messages postés 51 Statut Membre
     
    Il me répond "impossible d'attribuer une valeur à cet objet"
    0
  10. hervelot Messages postés 535 Statut Membre 123
     
    Cela m'étonne mais essai ca pour voir

    forms![animaux]![N° client] = forms![clients]![N° client]
    0
  11. SAYLA Messages postés 51 Statut Membre
     
    OK là ça marche, merci pour ton aide, c'est sympa.
    Bonne journée
    0