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

Excel Discussion :

Requête Access non récupérable dans excel [XL-2013]


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Expert-comptable
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert-comptable
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Points : 26
    Points
    26
    Par défaut Requête Access non récupérable dans excel
    Bonjour,

    Je bloque depuis un bon moment sur le problème suivant :

    Je souhaite récupérer les résultats de requêtes construites dans une base access. Le but étant d'alimenter des tableau de bord en excel.

    Les données de base variables sont envoyées par un programme externe qui créé et écrase à chaque export une base de données de type mdb access.

    J'ai créé une autre base access où les tables de la première base de données sont attachées.

    Puis j'ai créé une série de requêtes (et sous requêtes) afin de filtrer les données et donner un résultat sous forme tabulaire.

    Puis dans excel, je souhaite récupérer ces données pour les exploiter. Dans excel il est possible de récupérer ces données via le menu données, etc...

    A noter que la procédure fonctionne pour les tables ou les requêtes simples.

    Mais dès que la requête est un peu plus complexe, lorsque je fait l'import dans excel, il me donne comme résultat le nom des champs en titre et aucune données en dessous alors que la requête d'access renvoie bien des données.

    En fait, je souhaite obtenir d'un ensemble de données le top 10 de 3 champs dont un champ est calculé.

    Champ 1 : nom
    Champ 2 : Montant (qui est un total sur le nom du champ 1 selon des critères de dates)
    Champ 3 : Pourcentage du montant par rapport au total de tous les montants (champ calculé).

    Comme dit ci-avant, cela fonctionne en access 2013 mais pas en excel 2013.

    Voici un requête access qui se base sur d'autres requêtes et qui donne le palmares top 10 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT TOP 10 R_Fou_Mt_PerOld.INTI, Sum(R_Fou_Mt_PerOld.MTHTVA) AS SommeDeMTHTVA, Sum([R_Fou_Mt_PerOld]![MTHTVA]/[R_Fou_Ca_Old_Tot]![SommeDeMTHTVA]*100) AS Pct
    FROM R_Fou_Mt_PerOld, R_Fou_Ca_Old_Tot
    GROUP BY R_Fou_Mt_PerOld.INTI
    ORDER BY Sum(R_Fou_Mt_PerOld.MTHTVA) DESC;

    Avez-vous des pistes pour comprendre pourquoi le résultat de la requête access n'est pas accessible en excel ?

    J'ai bien pensé attaquer la base access par MS QUERY mais cela me parait moins évident et plus limité. Idem en VBA où je ne dispose pas suffisamment de connaissance.

    Je serais ravi de trouver une piste pour obtenir mes données voulues en excel.

    Merci pour vos lumières.

    Rod

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 420
    Points : 16 264
    Points
    16 264
    Par défaut
    Bonjour

    J'ai testé le même type de requête sur 2010 : 2 tables, dont une ne contient que la somme des montants, une somme, dont une sur le calcul du ratio.

    Je n'ai pas de souci (ma base est petite).

    Reste le problème d'attachement : Excel verrouille la base pour l'import.
    Cela a peut-être une incidence.
    Essaye la même requête sur des tables stockées dans la même base pour vérifier ce point.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Expert-comptable
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert-comptable
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Points : 26
    Points
    26
    Par défaut
    Bonjour 78chris,

    Merci de intéresser à mon problème.

    Pour essayer tes pistes, j'ai tenté d'utiliser access 2007 de mon portable plutôt que access 2013 (idem pour excel), le phénomène est exactement le même.

    Puis sous 2007, plutôt qu'attacher les tables, je les ai importée. Idem, rien ne change.

    La base pèse moins de 4.000 Ko et n'est pas très importante.

    N'y aurait-il pas un problème soit sur le nom des champs ou faut-il activer un complément quelconque ?



    Rod

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 420
    Points : 16 264
    Points
    16 264
    Par défaut
    Bonjour

    Éventuellement met ta base sur un site comme ci-joint pour qu'on regarde.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Expert-comptable
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert-comptable
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Points : 26
    Points
    26
    Par défaut
    Bonjour Chris,

    Voici la base principale avec les données :
    http://www.intercompta.be/TBExcel.mdb

    Et la base avec les requêtes :
    http://www.intercompta.be/Ciel.accdb

    La base principale est générée par une application externe.

    Merci

    Rod

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 420
    Points : 16 264
    Points
    16 264
    Par défaut
    Bonjour

    J'ai eu du mal à trouver : il n'aime pas le comme "440*"

    En remplaçant par gauche([COMP];3)="440" dans la requête R_Fou_Mt_PerNow cela marche.

    Bizarre.

    Edit : j'ai recherché et c'est "normal"
    http://answers.microsoft.com/en-us/o...d-41d95eed0430

    il faut :
    • soit, comme je l'ai proposé, utiliser un contournement
    • soit prévoir des requêtes avec les 2 "wildcard" * pour Access et % pour Excel
    • soit modifier les options pour travailler en mode compatible ANSI92 mais cela change la syntaxe du SQL...


    j'aurais appris quelque chose !
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Expert-comptable
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert-comptable
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Points : 26
    Points
    26
    Par défaut
    Et bien effectivement cela fonctionne en suivant ta syntaxe.

    Je ne sais comment te remercier car je sèche sur ce problème depuis des jours sans issue. .

    Merci pour ton temps passé et heureux malgré tout que cela a pu t'apprendre davantage.

    Je trouve incroyable que la documentation d'Excel et Access ne précise telle incompatibilité qui ne devrait d'ailleurs pas exister.

    J'ai fait l'essai avec le caractère générique "%" dans la requête access qui ne renvoie rien mais ne génère pas d'erreur. Et quand j'importe cette requête en excel, elle renvoie les données correctement.

    Je trouve toutefois ton contournement nettement plus pratique car valable dans les 2 applications.

    Encore merci pour ton aide en espérant que cela puisse servir à d'autres.

    Bon réveillon.

  8. #8
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 420
    Points : 16 264
    Points
    16 264
    Par défaut
    Bonjour

    Pour ne pas être embêté mettre
    Comme "440*" OU Comme "440%"

    Ainsi cela marchera et dans Access et dans Excel.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Expert-comptable
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert-comptable
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Points : 26
    Points
    26
    Par défaut
    Effectivement, c'est encore plus simple. Le tout c'est ne pas oublier les 2 arguments (xl et access).

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

Discussions similaires

  1. [AC-2010] Requête non visible dans EXCEL
    Par cdrik78 dans le forum Access
    Réponses: 0
    Dernier message: 10/07/2013, 18h08
  2. pb requête access importée à partir d'excel
    Par acbdev dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/12/2007, 14h14
  3. [access 97] Importer dans Excel
    Par 6ril25 dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/10/2007, 12h25
  4. Requête de non-correspondance dans une relation n-n
    Par N0wan dans le forum Langage SQL
    Réponses: 1
    Dernier message: 08/04/2007, 16h52

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