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 :

Liste de Choix à sélection multiple pour écriture multiple dans la tabl [AC-2003]


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Liste de Choix à sélection multiple pour écriture multiple dans la tabl
    Bonjour,

    Je me permets de poser mon problème car après avoir fait un tour sur le site je ne trouve toujours rien.

    J'ai trois tables:
    Une table Tbl_Equipement qui regroupe tous les équipements que j'ai.
    Un table Tbl_AllFonctions dans laquelle est inscrite toutes les fonctions que les équipements sont potentiellement capables de remplir.
    Une table intermédiaire Tbl_FonctionsEquipement qui vient mettre en relation un équipement avec une fonction (donc plusieurs lignes si l'équipement peut remplir plusieurs fonctions).

    Je voudrais donc créer un formulaire qui permette:
    - En sélectionnant un équipement
    - En sélectionnant plusieurs fonctions a partir d'une liste de choix

    --> M'écrire dans ma base données intermédiaire toutes les lignes correspondant aux fonctions sélectionnées, par ex.:
    Equipement1 Fonction1
    Equipement1 Fonction2
    Equipement2 Fonction1
    Equipement2 Fonction3
    .... ....

    Je pense qu'il faille passer par un développement en macro, n'étant pas un spécialiste, je me disais que quelqu'un sur le site est peut être susceptible de m'aider à ce sujet.
    Je vous remercie.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Bonjour et bienvenue sur les forums office de DVP.

    Je pense que tu auras besoin d'un peu plus qu'une macro, il va falloir passer par du VBA.
    La première étape est la récupération des éléments de la liste des fonctions.

    Pour ce faire, sur le clic d'un bouton on va parcourir les éléments sélectionnés.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim sItem As Variant
     
    For Each sItem In Me.List2.ItemsSelected
        Debug.Print Me.List2.ItemData(sItem)
    Next sItem
    Ce qui nous intéresse le plus est la ligne
    Debug.Print Me.List2.ItemData(sItem)

    On a au moins deux choix, via SQL ou via DAO.

    En SQL cela donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Sub Test()
    Dim sItem As Variant
    Dim frm As Form
     
     
    Set frm = Forms!MonFormulaire
     
     
    For Each sItem In frm.monControle1.ItemsSelected
        DoCmd.RunSQL "Insert into T2 (T1,T2) SELECT " & frm.monControle1.ItemData(sItem) & "," & frm.monControle2.ItemsSelected(0) & ";"
     
    Next sItem
     
     
    End Sub

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Merci Heureux-oli
    Bonjour,

    C'est exactement la ligne de code qu'il me fallait, je viens de la tester et après quelques modifs Bingo ça roule...

    Je vais pouvoir avancer, et n'espère ne pas être trop bloquer par la suite, sinon je sais à quelle porte frapper..

    Merci encore.. chussss

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Alors un petit !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Je me trouve dans le même cas de figure que badeux quasiment. Le code proposé devrait marcher pour moi mais je ne le comprends pas bien. Pourriez-vous svp m'expliquer la commande SQL ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Avec la boucle, on récupère les différents choix de la liste.

    Pour chaque élément de la liste, on va utiliser le SQL pour ajouter un enregistrement à la table.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/09/2009, 14h24
  2. Réponses: 2
    Dernier message: 01/08/2006, 13h38
  3. Réponses: 1
    Dernier message: 18/04/2006, 23h16
  4. Requête pour remplacer caractères dans une table
    Par elliott1961 dans le forum Installation
    Réponses: 5
    Dernier message: 16/01/2006, 01h47
  5. changement de type pour un champ dans une table
    Par Missvan dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 23/02/2004, 15h26

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