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 :

Remplissage automatique d'un champ à partir du contenu d'un autre champ


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Remplissage automatique d'un champ à partir du contenu d'un autre champ
    Bonjour,

    Je voudrais que le contenu du champ 1 de la table 1 se remplisse automatiquement en fonction du champ 2 de la table 2.
    Est-ce possible compte tenu que les champs sont dans deux tables différentes ?

    Illustration:
    Champ 1= Etat (Créé, Envoyé, Archivé)
    Champ 2= Dossier envoyé (Oui/non)
    Quand champ2= Oui, alors Champ1= Envoyé

    Merci beaucoup!

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Et si (champ2= Non) tu ne mets pas à jour le champ1...?

    Tu vas devoir agir au niveau du formulaire en utilisant du code VBA:

    Sur l'évènement après Maj de ton champ2, tu mets à jour ton Champ1 si Champ2=True...

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Bé.aec
    A priori, je n'ai pas d'actualisation à faire si le champ2=non.

    Par contre, pour l'actualisation si champ2= oui, je vais dans le formulaire =) feuille de propriétés =) évènements =) après Maj... et là, qu'est que je dois écrire? Je dois créer une macro ?

    Merci d'avance !
    Il faut générer le code :

    Sur l'évènement Après Maj, choisir [Procédure évènementielle], puis cliquer sur les 3 petits points à droite (...).

    et mettre le code VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Champ2_AfterUpdate()
     
       If Me!Champ2 Then
          Me!Champ1 = "Envoyé"
       End If
     
    End Sub
    A+

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Remplissage automatique d'un champ à partir du contenu d'un autre champ
    Je ne dois pas mentionner le nom des deux tables ? Puisque les deux champs sont dans deux tables différentes...?

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Re,

    Je n'avais pas vu que les 2 champs étaient dans 2 tables différentes:

    Dans ce cas comment fais-tu le lien entre table1 et table2 ?

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Remplissage automatique d'un champ à partir du contenu d'un autre champ
    Bonjour,

    Il y a une relation entre 2 autres champs des 2 tables.
    Que dois-je faire du coup?

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Re,

    si c'est une relation 1-1:

    Si ID est le champ qui fait le lien entre les 2 tables et si pour une valeur de ID dans la table1 il y a une seule valeur d'ID dans la table 2 pourquoi ne pas regrouper le tout dans une seule table ?

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Remplissage automatique d'un champ à partir du contenu d'un autre champ
    Citation Envoyé par User Voir le message
    Re,

    si c'est une relation 1-1:

    Si ID est le champ qui fait le lien entre les 2 tables et si pour une valeur de ID dans la table1 il y a une seule valeur d'ID dans la table 2 pourquoi ne pas regrouper le tout dans une seule table ?
    Bonjour,

    Effectivement, je vais essayer cette solution au lieu de chercher l'impossible.
    Par contre, je n'arrive pas non plus à faire marcher ta formule sur une seule table.
    champs 2 = "envoyé" doit s'actualiser quand champ1= "oui"
    Dans la formule, je ne trouve rien qui correspondent au "oui" qui déclencherait cette manip. Ce n'est pas indispensable de le signaler?

    Merci encore pour tes réponses!

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Salut,

    Ton champ2 dans ta table doit être de type booléen (Vrai/Faux) ou (Oui/Non).

    Dans le code VBA on utilise (True/False):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Champ2_AfterUpdate()
     
       If Me!Champ2 Then
          Me!Champ1 = "Envoyé"
       End If
     
    End Sub
    équivaut à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Champ2_AfterUpdate()
     
       If (Me!Champ2=True) Then
          Me!Champ1 = "Envoyé"
       End If
     
    End Sub
    A+

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Et les espaces dans mes champs (type "dossier envoyé") s'écrit dossier_envoyé? Ou on supprime l'espace dans le code ?
    Merci!

  11. #11
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Re,

    Utilise les crochets:

    ou


  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Ça ne fonctionne pas. Pourtant, j'ai bien fait attention à l'orthographe.
    -Faut-il créer une liste déroulante dans le champ1 avec notamment "dossier envoyé?"
    - Et si champ2= non, pour automatiser un autre contenu pour le champ1, je dois reproduire le code en dessous du premier? Ou créer un nouvel évènement?

  13. #13
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Je ne connais pas les noms de tes 2 champs, je vais donc simplifier:

    Dans la table:
    Champ1 : Texte
    Champ2 : Oui/Non

    Sur le formulaire:

    ZoneTexte1 : Zone de texte
    source contrôle : Champ1

    CaseCoche1 : case à coche
    source contrôle : Champ2

    Le Code VBA:

    sur après MAJ de la case à cocher "CaseCoche1":


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CaseCoche1_AfterUpdate()
     
       If Me!CaseCoche1=True Then
          Me!ZoneTexte1 = "Envoyé"
       else
         ' Sinon
       End If
     
    End Sub
    A+




    A+

  14. #14
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par User Voir le message
    Je ne connais pas les noms de tes 2 champs, je vais donc simplifier:

    Dans la table:
    Champ1 : Texte
    Champ2 : Oui/Non

    Sur le formulaire:

    ZoneTexte1 : Zone de texte
    source contrôle : Champ1

    CaseCoche1 : case à coche
    source contrôle : Champ2

    Le Code VBA:

    sur après MAJ de la case à cocher "CaseCoche1":


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CaseCoche1_AfterUpdate()
     
       If Me!CaseCoche1=True Then
          Me!ZoneTexte1 = "Envoyé"
       else
         ' Sinon
       End If
     
    End Sub
    A+




    A+
    Bonjour,

    J'ai bien essayé, sans résultat.
    Donc je me suis débrouillée autrement, et c'est presque aussi bien.
    Merci en tous les cas pour cette aide!

  15. #15
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Salut,

    Pense au tag résolu

    Une petite explication sur ta façon de faire serait également utile...

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/05/2015, 11h05
  2. [AC-2010] Màj d'un champ selon le contenu d'un autre champ
    Par HABILER dans le forum IHM
    Réponses: 10
    Dernier message: 08/07/2014, 14h15
  3. [AC-2003] Insertion champ à partir du filtrage de 2 autres champ
    Par delorvallois dans le forum Modélisation
    Réponses: 6
    Dernier message: 13/10/2009, 17h17
  4. Réponses: 2
    Dernier message: 20/06/2009, 18h46
  5. champ à partir du calcul d'un autre champ
    Par maysa dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/08/2008, 16h08

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