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 :

pb tutoriel "requête analyse croisée paramétrées"


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 158
    Points : 82
    Points
    82
    Par défaut pb tutoriel "requête analyse croisée paramétrées"
    Bonjour,

    J'ai utilisé l'exemple de cet exellent tutoriel de Fabrice Constans sur les réquêtes d'analyse croisée paramétrée avec ACCESS. J'ai choisi de créer ma requête en VBA comme ce qui est conseillé.
    J'ai donc un formulaire de saisi où l'on rentre 2 dates pour l'analyse des données (ddeb et dfin : ces 2 données sont stockés dans une table) et un bouton où je lance mon code vba suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim Sql As String
     
    Sql = "TRANSFORM Count(R_LISTING_ADHERENTS_PROF.s_nom) AS CompteDes_nom"
    Sql = Sql & " SELECT R_LISTING_ADHERENTS_PROF.specialite_txt, Count(R_LISTING_ADHERENTS_PROF.s_nom) AS [Total de s_nom]"
    Sql = Sql & " FROM R_LISTING_ADHERENTS_PROF"
    Sql = Sql & " WHERE (((R_LISTING_ADHERENTS_PROF.s_date_adhesion) between #" & Me.ddeb & "# and #" & Me.dfin & "#  ))"
    Sql = Sql & " GROUP BY R_LISTING_ADHERENTS_PROF.specialite_txt"
    Sql = Sql & " PIVOT R_LISTING_ADHERENTS_PROF.mode_exercice_txt In (Institutionnel,Libéral,Associatif);"
     
    DoCmd.DeleteObject acQuery, "RS_SYNTHESE_PROF_1_PERIODE"
    Voila le pb : pour la date de début ddeb il inverse les jours et les mois, ce qui fait si je saisie 01/02/2006 il va sélectionné dans ma requête 02/01/2006 (j'ai vérifié dans ma table, la date rentrée est correcte). Pour ce qui concerne la date de fin dfin pas de pb, il n'inverse pas les jours et les mois.
    Pouvez-vous m'aider à trouver mon erreur ?
    Merci bc

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Points : 181
    Points
    181
    Par défaut requete dynamique paramétrée
    Bonjour,

    Et bien, ce que je sais, c'est que les dates dans les requetes sont toujours au format américain. (mm/jj/aaaa)

    Concernant Me.ddeb et Me.dfin, avant ta requete regarde les valeurs
    stockées dedans avec des MsgBox .
    MsgBox Me.ddeb et MsgBox Me.dfin.

    Après lorsque tu récupères les éléments de ta tables et que tu veux afficher le champs Date au format francais.
    Utilise format(MaDate, "dd/mm/yyyy")

    @+

  3. #3
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Salut,

    je crois que ce problème avait déjà été évoqué sur le forum.
    Il me semble que les dates sont stockées au format americain mm/jj/aaaa.
    Il faut que tu vois avec la fonction format

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 158
    Points : 82
    Points
    82
    Par défaut
    Merci pour les réponses
    Mais Je suis un peu perdu, où je dois faire le changement de format date ?
    est-ce que c'est dans mon code vba ou au niveau du formulaire ou au niveau de ma table qui stocke ces dates ???

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    ces dates dans access sont un peu galère
    essaye ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (((clng(R_LISTING_ADHERENTS_PROF.s_date_adhesion)) between " & clng(Me.ddeb)  & " and  &  clng( Me.dfin & "#  )))"
    la fonction clng(madate) te retourne un entier ce qui t'exonère de tout problème

    [Modération, cafeine : Pensez à utiliser la balise [CODE] qui améliore la lisibilité, merci]

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 158
    Points : 82
    Points
    82
    Par défaut
    Ce code ne fct pas :
    erreur de synthaxe dans l'expression (((clng(R_LISTING_ADHERENTS_PROF.s_date_adhesion)) between #38749# and #38776# ))"
    Est ce que cela parle à quelqu'un?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 158
    Points : 82
    Points
    82
    Par défaut
    En utilisant format plus de pb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE (((R_LISTING_ADHERENTS_PROF.s_date_adhesion) between  " & Format(Me.ddeb, "\#mm/dd/yyyy\#") & " and #" & Me.dfin & "#))"
    Merci vos réponses

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

Discussions similaires

  1. Réponses: 28
    Dernier message: 18/05/2015, 11h10
  2. [AC-2007] Mettre des paramètres pour requête analyse croisée
    Par AgriPhilou dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/12/2011, 22h19
  3. Réponses: 5
    Dernier message: 28/11/2008, 16h34
  4. Requête analyse croisée paramétrée
    Par Chippen dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/02/2008, 15h14
  5. Requête analyse croisée+paramètres
    Par tcorcy dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 25/05/2007, 17h51

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