IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Remplir automatiquement un champ à partir de la valeur d'un autre


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 60
    Points : 30
    Points
    30
    Par défaut Remplir automatiquement un champ à partir de la valeur d'un autre
    Bonjour,

    j'aimerais que quand on rempli un champ A dans le formulaire A ; que le champ A soit le même dans le formulaire B, C, D ect...
    Pour ce faire :
    • j'ai crée des champs indépendants dans B, C, D ect...
    • j'ai mit un code dans le formulaire A


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CHAMP_A_AfterUpdate()
    If Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value = True Then
    Forms("[FORMULAIRE B]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
    Forms("[FORMULAIRE C]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
    Forms("[FORMULAIRE D]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
    End If
    End Sub
    • les champs A des autres formulaires sauf le formulaire A : B,C,D ect doivent être non visible; je dois mettre le code suivant dans un form current ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Forms("[FORMULAIRE B]").Controls("[CHAMP A]").Visible = False 
    Forms("[FORMULAIRE C]").Controls("[CHAMP A]").Visible = False 
    Forms("[FORMULAIRE D]").Controls("[CHAMP A]").Visible = False

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    Si tu as un petit fichier exemple de ce que tu veux faire, je jette un coup d'oeil...
    Ca sera plus rapide que de long discours... ;-)

  3. #3
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour,
    Tous les formulaires sont ouverts en même temps ? car si le formulaire A est fermé ça ne marche pas.
    Pour les champs invisibles , pourquoi ne pas mettre visible >>Non dans les propriétes de chaque champs.
    A+
    Pourquoi faire compliqué quand on peut faire simple
    Je suis encore en ACCESS 2003
    Un petit clic sur ça fait toujours plaisir , c'est par là -------------------------------------------------------v

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 60
    Points : 30
    Points
    30
    Par défaut
    Oui ils sont ouverts en même temps mais rien ne se passe. J'ai oublié de préciser que le champ A est un champ au format texte court...

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir
    J'ai oublié de préciser que le champ A est un champ au format texte court..
    dans ce cas ce code n'a pas de sens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value = True Then
    ceci est plus plausible:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value = "uneValeur" Then
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    Il faut faire un Refresh de tes form BCD etc apres la mise a jour du champs A dans ton Form A.
    Le champ A = true .... est ce une case a cocher (true/false) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub CHAMP_A_AfterUpdate()
    If Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value = True Then ' pourquoi TRUE
    Forms("[FORMULAIRE B]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
    Forms("[FORMULAIRE C]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
    Forms("[FORMULAIRE D]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
     
    End If

  7. #7
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    oui je me disais aussi ... lol

  8. #8
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub CHAMP_A_AfterUpdate()
    If Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value = True Then ' pourquoi TRUE
    Forms("[FORMULAIRE B]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
    Forms("[FORMULAIRE C]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
    Forms("[FORMULAIRE D]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
     
    Forms("[FORMULAIRE B]").refresh
    Forms("[FORMULAIRE C]").refresh
    Forms("[FORMULAIRE D]").refresh
    'etc 
    End If

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 60
    Points : 30
    Points
    30
    Par défaut
    J'ai testé les codes suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CHAMP_A_AfterUpdate()
    If Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value = "UneValeur" Then 
    Forms("[FORMULAIRE B]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
    Forms("[FORMULAIRE C]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
    Forms("[FORMULAIRE D]").Controls("[CHAMP A]").Value = Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value
     
    Forms("[FORMULAIRE B]").refresh
    Forms("[FORMULAIRE C]").refresh
    Forms("[FORMULAIRE D]").refresh 
    End If

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CHAMP_A_AfterUpdate()
    If Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value = "UneValeur" Then 
    Forms("[FORMULAIRE B]").Controls("[CHAMP A]").Value = "UneValeur"
    Forms("[FORMULAIRE C]").Controls("[CHAMP A]").Value = "UneValeur"
    Forms("[FORMULAIRE D]").Controls("[CHAMP A]").Value = "UneValeur"
     
    Forms("[FORMULAIRE B]").refresh
    Forms("[FORMULAIRE C]").refresh
    Forms("[FORMULAIRE D]").refresh 
    End If
    Pas d'erreur mais il ne se passe rien...
    Ca peut être lié aux relations entre les tables ?

  10. #10
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    peux tu poster le fichier ... ca sera plus simple...
    A plus

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    Citation Envoyé par outilsuiviedegestion
    J'ai testé les codes suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Forms("[FORMULAIRE A]").Controls("[CHAMP A]").Value = "UneValeur" Then
    oui mais, "UneValeur", c'est juste un exemple, il faut mettre la véritable valeur que contient le champ A ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 60
    Points : 30
    Points
    30
    Par défaut
    Justement la valeur change tout le temps !
    C'est l'utilisateur qui la rentre et pour chaque nouvelle affaire (chaque enregistrement, chaque ligne), elle est modifiée.

  13. #13
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    Sans fichier d’exemple ça va être dur de solutionner ton problème , je pense.

  14. #14
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2013
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 328
    Points : 477
    Points
    477
    Par défaut
    Est ce que c'est cela ou tu veux arriver ?
    A plus
    Fichiers attachés Fichiers attachés

  15. #15
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut, je m'incruste.
    Comme l'impression que votre demande ne rime à rien, dans la mesure où je suppose que votre formA est un form principal et que les autres forms B, D, E, etc. sont des s/form. Dans ce cas, il y a une relation binaire ou Naire entre les tblA et les tbl B, C, D, etc.
    Et cela me ramène à votre post ici
    Euh ... je viens de charger votre bdd. Quel intérêt de créer des formulaires sans source (tbl/req) ? Vous ne pouvez même pas traiter de recordset en vba pour collecter les données de vos form A, B et C, etc.
    Pour la propriété visible pour B, C, D, etc. pourquoi ne pas paramétrer directement visible = non les zones de texte que d'écrire des lignes ?
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  16. #16
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour,
    Citation Envoyé par outilsuiviedegestion Voir le message
    J'ai testé les codes suivants :
    Pas d'erreur mais il ne se passe rien...
    Ca peut être lié aux relations entre les tables ?
    Dans l'exemple que tu as envoyé les valeurs changent dans les formulaires B et C , mais sur le formulaire A il y a 2 champs : pendant et après saisie ,ils servent à quoi
    et les valeurs ne sont pas enregistrées dans une tables , donc juste de l'affichage? la finalité de la saisie c'est quoi?
    A+
    Pourquoi faire compliqué quand on peut faire simple
    Je suis encore en ACCESS 2003
    Un petit clic sur ça fait toujours plaisir , c'est par là -------------------------------------------------------v

  17. #17
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour dok flint et hyperion13,

    attention, il ne s'agit pas d'une base fournie par outilsuiviedegestion (le demandeur) mais par james68 (le proposant) qui voulait savoir si c'est bien le résultat qu'il voulait obtenir.
    Malheureusement outilsuiviedegestion n'a toujours pas répondu
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  18. #18
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour dok flint et hyperion13,

    attention, il ne s'agit pas d'une base fournie par outilsuiviedegestion (le demandeur) mais par james68 (le proposant) qui voulait savoir si c'est bien le résultat qu'il voulait obtenir.
    Malheureusement outilsuiviedegestion n'a toujours pas répondu
    Salut james68 et tee_grandbois
    Oups ... je n'ai pas fait gaffe, et en plus je m'étonnais que la proc fonctionne

    Le problème avec les formA, B, C, D, etc. est lié aux éléments de ce post, enfin je pense.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  19. #19
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 60
    Points : 30
    Points
    30
    Par défaut
    Merci James68 mais Windows me bloque l'accès à ton fichier, je n'arrive pas à le déziper. "potentiellement dangereux" ; je ne sais pas pourquoi ça me fait ça...

    Je ne pense avoir le droit de fournir ma base alors je vais essayer de détailler un maximum ce qu'on me demande de constituer : (j'ai pas la main dessus)

    - sur chaque formulaire il y'a un bouton pour passer au formulaire suivant (un peu comme un formulaire de navigation)
    - sur chaque formulaire il faut qu'il apparaisse un champ, ce sera la clé primaire du formulaire A
    - ce même champ doit se remplir automatiquement sur les formulaires B,C,D... ceux qui suivent le formulaire A

    Intérêt ?
    - cela évite à l'utilisateur de réecrire le champ à chaque fois sur chaque formulaire
    - c'est également une sorte de protection car si l'utilisateur commence une saisie, les 7 formulaires seront pré-rempli automatiquement, le champ A sera pré-rempli automatiquement.
    Si l'utilisateur s'arrête au formulaire 4, alors le champ A sera quand même rempli sur les formulaires B,C,D... ect
    Je me dit que ça m'évitera un mélange de lignes ?

  20. #20
    Membre confirmé
    Avatar de dok flint
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    366
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 366
    Points : 548
    Points
    548
    Par défaut
    Bonjour ,
    Ok, C'est u peu plus clair , je vais essayer de faire une petite base d'exemple et je reviens vers vous.
    A+
    Pourquoi faire compliqué quand on peut faire simple
    Je suis encore en ACCESS 2003
    Un petit clic sur ça fait toujours plaisir , c'est par là -------------------------------------------------------v

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/11/2017, 19h47
  2. [AC-2013] Remplir automatiquement un champ a partir de la valeur d'un autre
    Par Rico_33 dans le forum Access
    Réponses: 3
    Dernier message: 19/09/2015, 09h38
  3. Réponses: 8
    Dernier message: 10/10/2006, 10h58
  4. Remplir automatiquement un champ sous condition.
    Par popoliline dans le forum Access
    Réponses: 15
    Dernier message: 15/09/2006, 23h04
  5. Remplir automatiquement un champ dans une table
    Par en_stage dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 03/08/2006, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo