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 :

[A-03] Rowsource d'une zone de liste que ne marche pas


Sujet :

VBA Access

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut [A-03] Rowsource d'une zone de liste que ne marche pas
    Bonjour,

    Dans mon application j'ai une zone de liste où j'essaye de écrire la propriété RowSource par VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SQL = "SELECT COLLABORATEUR, Count(T_calendrier.No) AS NB " & _
          "FROM (SELECT [USER] & ' ' & [NOM_LONG] AS COLLABORATEUR, T_calendrier.No, T_stages.[#SUJET], T_calendrier.DAT_INI " & _
                "FROM (T_calendrier LEFT JOIN T_stages ON T_calendrier.STAGE = T_stages.STAGE) LEFT JOIN T_colaboradores_DRH ON T_calendrier.COLAB_MEC = T_colaboradores_DRH.USER " & _
                "WHERE (((T_stages.[#SUJET])=41) AND " & _
                      "((T_calendrier.DAT_INI) Between #01/01/2006# AND #12/31/2006#));) " & _
          "GROUP BY [COLLABORATEUR];"
     
    Liste0.RowSource = SQL
    et la liste reste vide

    Par contre, j'ai essayé avec des requetes:
    Requete1:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [USER] & ' ' & [NOM_LONG] AS COLLABORATEUR, T_calendrier.AG, T_calendrier.[No], T_stages.[#SUJET], T_calendrier.DAT_INI
    FROM (T_calendrier LEFT JOIN T_stages ON T_calendrier.STAGE=T_stages.STAGE) LEFT JOIN T_colaboradores_DRH ON T_calendrier.COLAB_MEC=T_colaboradores_DRH.USER
    WHERE (((T_stages.[#SUJET])=41) AND ((T_calendrier.DAT_INI) Between #1/1/2006# And #12/31/2006#));
    Requete2:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Requête1.COLLABORATEUR, Count(Requête1.[No]) AS CompteDeNo
    FROM Requête1
    GROUP BY Requête1.COLLABORATEUR;
    J'arrive a avoir des resultats

    Est-ce que quelqu'un peut m'aider, svp?
    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Par défaut
    Bonjour,
    essaie en faisant un :
    après avoir affecté le rowsource de la liste.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut
    Merci ilank,

    Mais dans le code, après ces instructions il y a

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    3 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 040
    Par défaut
    Bonjour,
    tu as eu des résultats avec chaque requete séparément mais as-tu fait le test avec la requte complete ?
    SQL = "SELECT COLLABORATEUR, Count(T_calendrier.No) AS NB " & _
    "FROM (SELECT [USER] & ' ' & [NOM_LONG] AS COLLABORATEUR, T_calendrier.No, T_stages.[#SUJET], T_calendrier.DAT_INI " & _
    "FROM (T_calendrier LEFT JOIN T_stages ON T_calendrier.STAGE = T_stages.STAGE) LEFT JOIN T_colaboradores_DRH ON T_calendrier.COLAB_MEC = T_colaboradores_DRH.USER " & _
    "WHERE (((T_stages.[#SUJET])=41) AND " & _
    "((T_calendrier.DAT_INI) Between #01/01/2006# AND #12/31/2006#)) " & _
    "GROUP BY [COLLABORATEUR];"
    déjà enlève le ; qui se trouve dans
    ... AND #12/31/2006#)) ...

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut
    Incroiable!! C'était le ;

    Merci beaucoup!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/06/2011, 23h31
  2. Réponses: 5
    Dernier message: 06/04/2007, 23h56
  3. se déplacer sur une zone de liste
    Par bb62 dans le forum IHM
    Réponses: 12
    Dernier message: 31/01/2005, 10h47
  4. Réponses: 6
    Dernier message: 24/01/2005, 11h06
  5. [VB6] largeur d'une zone de liste d'une combobox
    Par Nick13 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/08/2004, 12h30

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