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

Requêtes et SQL. Discussion :

[A-02] Requête pour calculer des variations à partir données d'une table


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 41
    Points
    41
    Par défaut [A-02] Requête pour calculer des variations à partir données d'une table
    Bonjour,

    Je travaille avec Access 2002.

    J'ai la table suivante:
    Site------------Période----------Nbre clients
    Tunisie---------08/2008---------5
    Russie----------09/2008---------4
    Martinique------09/2008---------6

    Cette table a vocation à être alimentée tous les mois avec pour chaque site un nombre de clients différents.
    Je cherche à récupérer les variations du nombre de clients sur un site donné (et sur l'ensemble des sites) entre 2 mois consécutifs.

    Quelle serait selon vous la solution la mieux adaptée ?


    J'ai d'abord pensé à créer deux requêtes avec paramètres qui récupéreraient suivant le site et la période renseignée les données des mois (M-1) et M.
    Après je bloque pour calculer la variation (requête UNION ?)

    D'avance merci

    Alban

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut atoffoli75,

    le plus simple serait d'utiliser DLookup() pour récupérer la valeur des mois précédents.
    si tu n'y arrives pas donne le type de <Période>: Date/String


  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    salut vodiem,

    et merci pour ta réponse.
    je n'arrive pas à utiliser DLookup(). j'ai le message d'erreur suivant qui apparaît:"La syntaxe de l'expression entrée n'est pas correcte".


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DLookup("[Nb CAE]","Données sources","[Site]='Dubai'"]
    -"Nb CAE" est un champ
    -"Données sources" est le nom de la table
    -"Site" est un champ de type texte


    Dernière chose: où faut-il rentrer la formule et faut-il mettre le "="?

    D'avance merci

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour, Vodiem ,

    =DLookup("[Nb CAE]","Données sources","Site='Dubai'"]
    Essayez de mettre des points virgules à la place des virgules.

    faut-il mettre le "="?
    Oui car cela équivaut à un filtre WHERE d'une requête SQL !

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  5. #5
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    Bonjour à tous,

    Merci: ça fonctionne quand je mets comme critère le champ "Site".

    Par contre ce n'est plus le cas lorque je combine des critères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =RechDom("[Nb CAE]";"Retraitement - essai";"[Périodes]=#sept_2008# AND [Site]='Martinique' ")
    => erreur dans la syntaxe

    Une petite précision:
    Périodes: Format([Période];"mmm_yyyy")

    En effet, les périodes apparaissant sous la forme suivante dans le champs "Période" , il a fallu les harmoniser:
    01/09/2008
    30/09/2008

  6. #6
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut atoffoli75 et Chtulus

    Périodes: Format([Période];"mmm_yyyy") => Périodes type: String
    donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RechDom("[Nb CAE]";"Retraitement - essai";"[Périodes]='sept_2008' AND [Site]='Martinique' ")

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

Discussions similaires

  1. [AC-2003] Une formule pour calculer les in et out d une table de pointage
    Par taz devil dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 29/06/2015, 12h46
  2. [MySQL] Problème de requête SQL pour calculer des stats
    Par k2006 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/05/2009, 18h23
  3. Réponses: 3
    Dernier message: 07/05/2009, 08h10
  4. Réponses: 5
    Dernier message: 23/02/2007, 09h04
  5. Réponses: 3
    Dernier message: 07/02/2006, 13h26

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