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 :

Remplir une zone de liste modifiable à partir de 2 tables [AC-2000]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 72
    Points : 80
    Points
    80
    Par défaut Remplir une zone de liste modifiable à partir de 2 tables
    Bonjour,

    J'ai 2 tables, une table médecins et une table laboratoires

    Occurrence de la table médecins, 2 propriétés : nom du médecin et prénom du médecin
    nom med 1 prénom med 1
    nom med 2 prénom med 2
    nom med 3 prénom med 3
    Occurrence de la table laboratoires :nom du laboratoire
    nom Lab 1
    nom Lab 2
    nom Lab 3

    je souhaite parvenir à ce résultat et est-ce possible ?

    Le contenu de la zone de liste modifiable doit comprendre les occurrences
    de la table médecins et de la table laboratoires.

    Contenu de la zone de liste mod

    nom med 1 prénom med 1
    nom med 2 prénom med 2
    nom med 3 prénom med 3
    nom Lab 1
    nom Lab 2
    nom Lab 3

    Avec mes remerciements

  2. #2
    Membre régulier Avatar de GillesDeVuif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 88
    Points : 110
    Points
    110
    Par défaut
    Bonjour.
    Peut-être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SQL = "SELECT DISTINCT (TableMedecins.Nom & " " & TableMedecins.Prenom) AS NomMedecin, TableLaboratoire.NomLab FROM TableMedecins, TableLaboratoire"
     
    With Me.TaZoneDeListe
        .Rowsource = SQL
        .Requery
    End With
    Cordialement.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 72
    Points : 80
    Points
    80
    Par défaut
    Je vous remercie pour la rapidité de votre réponse.

    Toutefois l'affichage se fait sur 2 colonnes.

    Med 1 Lab 1
    Med 2 Lab 1
    et ainsi de suite

    Je souhaiterai que l'affichage se fasse sur une seule colonne.

    Med 1
    Med 2
    Med 3
    Labo 1
    Labo 2

    Avec mes remerciements,

    Cordialement

  4. #4
    Membre régulier Avatar de GillesDeVuif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 88
    Points : 110
    Points
    110
    Par défaut
    Oui, désolé : peut-être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SQL = "SELECT DISTINCT (TableMedecins.Nom & " " & TableMedecins.Prenom) AS ContenuListe INTO TblTemp FROM TableMedecins"
    Currentdb.execute (SQL)
    SQL = "INSERT INTO TblTemp (ContenuListe) SELECT DISTINCT NomLab FROM TableLaboratoire"
    Currentdb.execute (SQL)
     
    With Me.TaZoneDeListe
        .Rowsource = SQL
        .Requery
    End With
    (à un moment, il faudra faire un DROP de TblTemp).

    Cordialement.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 22
    Points : 30
    Points
    30
    Par défaut
    Salut

    Une simple requête union ne marcherait-elle-pas ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT Distinct NomMedecin FROM TableMedecin 
     
    UNION 
     
    SELECT Distinct NomLabo FROM TableLabo

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 72
    Points : 80
    Points
    80
    Par défaut
    Citation Envoyé par lvz00 Voir le message
    Salut

    Une simple requête union ne marcherait-elle-pas ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT Distinct NomMedecin FROM TableMedecin 
     
    UNION 
     
    SELECT Distinct NomLabo FROM TableLabo
    Celà marche parfaitement.

    Une toute dernière question : est-il possible de faire un tri par ordre alphabétique du contenu de la liste ?

    Merci

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 22
    Points : 30
    Points
    30
    Par défaut
    Après vérification, le code ci-dessus est inexact: l'opérateur "UNION" dédoublonne et ordonne.

    Voir http://access.developpez.com/faq/?page=Concept#UNIONALL
    Donc les Distincts sont inutiles dans la formule.

    Pour le tri, il se fait par défaut, on peut le modifier en posant un Order by sur un des champs (voir le petit exemple joint).
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2007] Charger une zone de liste modifiable à partir d'un code VBA
    Par medino55 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/03/2013, 16h15
  2. Réponses: 3
    Dernier message: 20/07/2009, 11h15
  3. Réponses: 0
    Dernier message: 03/07/2009, 16h16
  4. ADO remplir une zone de liste modifiable (combobox)
    Par frack dans le forum VBA Access
    Réponses: 9
    Dernier message: 06/02/2008, 14h04
  5. Réponses: 2
    Dernier message: 26/01/2007, 15h56

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