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

VBA Access Discussion :

Changer un champ multivalué par click evenementiel [AC-2007]


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Conducteur de travaux
    Inscrit en
    Février 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conducteur de travaux

    Informations forums :
    Inscription : Février 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Changer un champ multivalué par click evenementiel
    bonjour à tous !

    Je suis en pleine apprentissage sur Access et le site m'aide énormément, alors considérez moi comme un novice. Et là je galère

    Je souhaite effacer le contenu d’un champ multivalué si le contenu d’un autre champ est modifié.
    En gros si je change le contenu du ChampA alors le ChampB est effacé. Le tout en passant par un click évènementiel...

    J'ai bien vu des tutos pour supprimer les valeurs d'un champ multivalué. J'ai testé le code, qui fonctionne très bien. Sauf qu'il m'efface la mauvaise ligne (en fait, il efface dans l'ordre d'enregistrement, alors que je souhaite sélectionner à l'aide d'un formulaire continu l'enregistrement qui m’intéresse)

    Merci à toute âme charitable pour le petit coup de pousse

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Pour effectuer une action sur l'enregistrement courant d'un formulaire continu il faut :

    • Etre positionné sur cet enregistrement
    • Utiliser le Me.nomcontrole pour désigner le contrôle.


    N'hésites pas à poster ton code.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Candidat au Club
    Homme Profil pro
    Conducteur de travaux
    Inscrit en
    Février 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conducteur de travaux

    Informations forums :
    Inscription : Février 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Changer un champ multivalué par click evenementiel
    merci loufab

    j'ai pas tout saisi mais c’est normal en mode VBA je suis un fjdlseifj

    peut être qu'en étant plus précis, tu vas me comprendre
    voici ce que je cherche :
    Soit la table suivante : t_entretien
    • champ_famille : texte
    • champ_description : texte
    • champ_localisation : champ multivalué contenant du texte
    la table est rempli par le biais d'un formulaire continu (f_taches_ponctuelles). Si je modifie le champ_famille ou le champ_description alors çà m'efface le champ_localisation

    merci encore pour ton aide

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,
    Je dirais donc d'utiliser les évènements Après MAJ de chaque contrôle qui doit déclencher l'effacement et d'y mettre ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.champ_localisation = null
    Cependant je ne suis pas utilisateur de ce type de champ, je préfère un bonne vieille table liée.

    Il y a un tuto sur les champs multivalués. Peut-être que tu y trouveras ton bonheur.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Candidat au Club
    Homme Profil pro
    Conducteur de travaux
    Inscrit en
    Février 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conducteur de travaux

    Informations forums :
    Inscription : Février 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    J'ai testé le code mais ça m'affiche un message d'erreur. "impossible d’exécuter cette opération"

    Nom : Sans titre.jpg
Affichages : 121
Taille : 17,3 Ko

    quoi qu'il en soit j'ai regardé comme tu m'as conseillé le tuto sur les champs multivalués. j'ai modifié à ma sauce et ça donne çà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub FAMILLE_Change()
    Dim oRst As DAO.Recordset
    Set oRst = CurrentDb.OpenRecordset("SELECT localisation FROM t_taches_secu_ponctuelles") ' WHERE localisation=''")
    With oRst
       .Edit
        With .Fields("localisation").Value
        While Not .EOF
            .Delete
            .MoveNext
        Wend
        End With
        .Update
    End With
    Il fonctionne mais il me manque la condition WHERE. je sens que j'y suis presque

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Pour le Where il y a plein d'exemple sur le forum et dans les tutos sur la recherche notamment.

    Le tout est de savoir :
    • le type de valeur
    • si elle est statique ou si elle provient du formulaire.


    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Candidat au Club
    Homme Profil pro
    Conducteur de travaux
    Inscrit en
    Février 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conducteur de travaux

    Informations forums :
    Inscription : Février 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Effectivement, mais j'arrive pas a compilé dans le code, çà me met à chaque fois un message d'erreur

    Nom : Sans titre2.jpg
Affichages : 125
Taille : 21,9 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub FAMILLE_Change()
    Dim oRst As DAO.Recordset
    Set oRst = CurrentDb.OpenRecordset("SELECT localisation FROM t_taches_secu_ponctuelles WHERE localisation=' ' ")
    With oRst
       .Edit
        With .Fields("localisation").Value
        While Not .EOF
            .Delete
            .MoveNext
        Wend
        End With
        .Update
    End With
    Le champ localisation contient du texte, qui provient d'une autre table. le tout est renseigné par un formulaire.

    Please

    Cordialement,

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Visiblement la syntaxe du champ n'est pas la bonne.

    A lire absolument :
    http://warin.developpez.com/access/multivalue/

    Tout y est.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Candidat au Club
    Homme Profil pro
    Conducteur de travaux
    Inscrit en
    Février 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conducteur de travaux

    Informations forums :
    Inscription : Février 2017
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci je vais regardé ca plus en détail

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Changer les champs d'un TCD par macro
    Par stevenring dans le forum Excel
    Réponses: 1
    Dernier message: 21/09/2014, 14h41
  2. Réponses: 6
    Dernier message: 19/11/2010, 18h27
  3. Champs complété par des espaces
    Par DeitY dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 23/06/2005, 15h07
  4. Traitement des champs memo par DBGrid
    Par Sydaze dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/04/2005, 09h24
  5. selection par click droit
    Par mecocha dans le forum MFC
    Réponses: 2
    Dernier message: 22/12/2004, 22h35

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