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 :

Message erreur: "Le moteur de base de données Microsoft Access ne reconnait pas " [AC-2013]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Points : 29
    Points
    29
    Par défaut Message erreur: "Le moteur de base de données Microsoft Access ne reconnait pas "
    Bonjour tout le monde,

    Nouveau inscrit sur le site (car pas la première fois que je viens faire un tour dessus) et novice en connaissance Access (d'où mes différents aller-retour sur ce même site), j'espère pouvoir trouver une solution à mon problème grâce à vous... si solution existe.

    CONTEXTE:

    Actuellement en stage dans une entreprise, il m'est demandé de créer une base de données comprenant les "exigences client" d'un projet et, par la suite, de créer un outil de "reporting" qui permettra le suivi et la gestion de ces exigences.

    Pour ce faire, j'utilise les logiciels Access 2013 (pour la partie BD et exploitation/synthétisation des données) et Power B.I. Desktop (pour la partie affichage graphique des données).

    1ERE ÉTAPE:

    Pour commencer, j'ai créé une base de données structurée tel que suite (je vous donne une version [très] simplifiée):

    ORIGINE IDENTIFIANT SYSTEME SOUS-SYSTEME N-1 FONCTION TRANSVERSALE 1
    ABC 001 1 1 X
    ABC 002 1 1 X
    ABC 003 1 1 Y
    ABC 004 1 2 X
    ABC 005 1 2 Y
    ABC 006 2 1 X
    ABC 007 2 1 X

    Sachant que le(s) critère(s):
    • Fonction Transversale 1 peut avoir comme solution un des choix suivant: X ou Y ou Z (choix à effectuer dans une liste déroulante);
    • Système & Sous-Système N-1 composent l’arborescence de l'exigence.



    2EME ÉTAPE:

    Ensuite, j'utilise une requête (Tableau croisé dynamique - utilisation de l'Assistant Requête) afin de comptabiliser le nombre de X, Y ou Z en fonction de l'arborescence. Et ce dans le but d'avoir une synthétisation des données tel que suit:

    SYSTEME SOUS-SYSTEME N-1 NBR DE X NBR DE Y
    1 1 2 1
    1 2 1 1
    2 1 2 0

    Jusque-là, pas de problème.

    3EME ÉTAPE:

    J'ai créé une seconde requête "Création de table" qui va chercher les données se trouvant dans la feuille de données de la 1ère requête (expliquée précédemment) afin de les faire figurer dans une nouvelle table.

    Le pourquoi de la chose? Car à partir de Power B.I. Desktop, il est uniquement possible de charger les données se trouvant dans un format table dans Access. Sinon, cela aurait été trop facile.

    PROBLÉMATIQUE:

    Comme expliqué plus haut, le critère Fonction Transversale 1 a plusieurs choix possibles (X, Y ou Z).

    Hors, à ce stade du projet, nous n'avons pas encore la nécessité de rentrer le choix Z.

    Du coup, si dans ma deuxième requête, je l'utilise comme champ de référence, le message d'erreur suivant s'affiche:

    "Le moteur de la base de données Microsoft ne reconnait pas "...." en tant que nom de champ ou expression correcte.".

    Je sais que cela est normal car la 1ère requête n'a identifié aucun Z dans la base de données.

    Ma question est donc la suivante:

    Existe-t-il une solution [ou une autre - je ne suis pas jaloux] afin de remonter, pour Z, la valeur 0 dans le tableau de synthétisation?
    Si oui, cela se fait-il dès la 1ère requête?

    Le but de cette manœuvre serait d'éviter de venir changer les paramètres de mes différentes requêtes dans le futur lorsque le choix Z sera enfin rentré dans la base de données.
    Car, comme expliqué plus haut, chaque exigence a d'autres critères que celui de Fonction Transversale 1, et le même problème aura lieu pour plusieurs d'entre eux.

    En espérant avoir été assez clair.
    Sinon, n'hésitez pas à demander amples informations que je me ferai une joie de vous fournir dans les plus bref délais.

    Je remercie toute personne qui pourra m'aider, et aussi car il sera allé jusqu'au bout de mon texte.

    Vous souhaitant une bonne journée/soirée.

    Sébastien

  2. #2
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 956
    Points : 1 139
    Points
    1 139
    Par défaut "Le moteur de base de données Microsoft Access ne reconnait pas "
    Salut !

    Je ne connais pas Power Bi, mais si tu as accès au SQL des requêtes, tu peux te débrouiller comme çà:

    Dans la requête du type "SELECT maTable.x, maTable.y, maTable.z FROM maTable ..."
    change par:
    "SELECT maTable.x, maTable.y, 0 AS z FROM maTable..."

    Peut-être que çà t'aidera...
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Points : 29
    Points
    29
    Par défaut Bonjour
    Salut,

    Merci pour ta réponse.

    Oui j'ai bien accès aux codes SQL.

    Je vois bien ce que tu veux dire.
    Mais, je ne vois pas comment implémenter ta solution dans mon code SQL.

    Du coup, je te copie/colle les codes SQL des deux requêtes pour que tu aies un aperçu de comment elles sont structurées.

    Code SQL 1ère requête:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM Count(Database_Exigences.N°) AS CompteDeN°
    SELECT Database_Exigences.Système, Database_Exigences.[Sous-Système N-1], Database_Exigences.[Sous-Système N-2], Count(Database_Exigences.N°) AS [Total de N°]
    FROM Database_Exigences
    GROUP BY Database_Exigences.Système, Database_Exigences.[Sous-Système N-1], Database_Exigences.[Sous-Système N-2]
    PIVOT Database_Exigences.[Fonction Transversale 1];
    avec:
    • Database_Exigence = nom de la table où se trouvent les données.
    • Fonction transversale: nom de la colonne où se trouvent X, Y et Z



    Code SQL 2ème requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Requete_FonctionTransversale1_Exigences.Système, Requete_FonctionTransversale1_Exigences.[Sous-Système N-1], Requete_FonctionTransversale1_Exigences.[Sous-Système N-2], Requete_FonctionTransversale1_Exigences_X, Requete_v_Exigences.Y INTO Table_Resume_FonctionTransversale1
    FROM Requete_FonctionTransversale1_Exigences
    ORDER BY Requete_FonctionTransversale1_Exigences.Système, Requete_FonctionTransversale1_Exigences.[Sous-Système N-1], Requete_FonctionTransversale1_Exigences.[Sous-Système N-2];
    avec:
    • Requete_FonctionTransversale1_Exigences = nom de 1ère requête.
    • Table_Resume_FonctionTransversale1: nom de la nouvelle table


    Au vu de ta réponse, je pense que c'est la 1ère requête que je dois modifier?!

    Par avance merci.

    Sebastien

  4. #4
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 956
    Points : 1 139
    Points
    1 139
    Par défaut Message erreur: "Le moteur de base de données Microsoft Access ne reconnait pas "
    Salut,

    Moi je ferais çà dans la seconde requête: ajouter un alias Z sur la troisième colonne, çà donnerait quelque chose comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Requete_FonctionTransversale1_Exigences.Système, Requete_FonctionTransversale1_Exigences.[Sous-Système N-1], Requete_FonctionTransversale1_Exigences.[Sous-Système N-2], Requete_FonctionTransversale1_Exigences_X, Requete_v_Exigences.Y, 0 AS Z INTO Table_Resume_FonctionTransversale1
    FROM Requete_FonctionTransversale1_Exigences
    ORDER BY Requete_FonctionTransversale1_Exigences.Système, Requete_FonctionTransversale1_Exigences.[Sous-Système N-1], Requete_FonctionTransversale1_Exigences.[Sous-Système N-2];
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Points : 29
    Points
    29
    Par défaut Et si on en demandait encore plus
    Cela fonctionne en effet.

    Par contre, imaginons qu'aujourd'hui je rentre la solution "Z" dans une cellule de la colonne "Fonction Transversale 1", la première requête la détectera bien automatiquement et l'affichera sur sa feuille de données.

    Mais la deuxième requête non.
    Il me faudra modifier de nouveau le code SQL pour enlever la partie code que tu m'as fourni afin de le remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Requete_FonctionTransversale1_Exigences_Z
    Du coup penses-tu qu'il possible dans le code SQL de mettre une condition IF/SI du genre:


    ?

    Mais merci encore.

  6. #6
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 956
    Points : 1 139
    Points
    1 139
    Par défaut Message erreur: "Le moteur de base de données Microsoft Access ne reconnait pas "
    Si si, c'est possible

    Avec la fonction IIF(Condition; Output si Condition vraie; Output si Condition fausse)

    Du coup, j'utiliserais aussi la fonction NZ(Champ; Valeur si Null), ce qui donnerait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL="SELECT Bla bla bla..., nz(Requete_FonctionTransversale1_Exigences_Z; 0) AS Z FROM Requete_FonctionTransversale1_Exigences..."
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Points : 29
    Points
    29
    Par défaut Iterum Error :aie:
    C'est bien ce que je pensais.

    J'étais parti sur la fonction IIf avant ton message.
    Au lancement de la requête le même d'erreur "Le moteur de base de données Microsoft ne reconnait pas "Requete_FonctionTransversale blablabla" en tant que nom de champ ou expression correcte.

    Du coup, j'ai tenté avec la fonction NZ, mais le même message d'erreur apparait.

    Est-ce à cause d'une erreur de syntaxe

    En pièce jointe, je mets une copie de mon fichier (après avoir viré tous les éléments non concernés) en format Zip.

    Ca sera peut être plus facile.

    Merci.
    Fichiers attachés Fichiers attachés

  8. #8
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 956
    Points : 1 139
    Points
    1 139
    Par défaut Message erreur: "Le moteur de base de données Microsoft Access ne reconnait pas "
    OK, je n'avais tout à fait compris ton problème.

    Peux-tu insérer du VBA dans Power B.I. Desktop?

    Si oui, dans la 3ème étape, tu testes d'abord l'existence de la valeur "Z" dans la colonne "Fonction Transversale 1" de la table Database_Exigences, puis tu lances conditionnellement l'une des 2 requêtes suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Dim strSQL as String
    if nz(dCount("[Fonction Transversale 1]", "Database_Exigences", "[Fonction Transversale 1]='Z'"), 0)=0 then
            strSQL = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1], Requete_FonctTransv_Exigences.X, " & _
              "Requete_FonctTransv_Exigences.Y INTO Table_Resume_FonctTransv " & _
              "FROM Requete_FonctTransv_Exigences " & _
              "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"
     
         Else
            strSQL = "SELECT Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1], Requete_FonctTransv_Exigences.X, " & _
              "Requete_FonctTransv_Exigences.Y, nz([Requete_FonctTransv_Exigences].[Z],0) AS Z INTO Table_Resume_FonctTransv " & _
              "FROM Requete_FonctTransv_Exigences " & _
              "ORDER BY Requete_FonctTransv_Exigences.Système, Requete_FonctTransv_Exigences.[Sous-Système N-1];"
     
    End IF
    Docmd.SetWarnings False
    Docmd.RunSQL (strSQL)
    Docmd.SetWarnings True
    ...Ou appeler la petite fonction VBA que j'ai inséré dans ta base: ...
    Database Exigences test.zip

    PS: Renseignements pris, il semblerait que malgré la demande VBA ne soit PAS intégré à Power BI https://ideas.powerbi.com/forums/265...wer-bi-desktop
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2018
    Messages : 29
    Points : 29
    Points
    29
    Par défaut est praeclara
    Super merci!!!

    Désolé ne de répondre que maintenant mais le soir je suis en mode Papa 0.0!!

    Merci beaucoup pour ton aide!

    Bonne journée.

  10. #10
    Membre éprouvé Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 956
    Points : 1 139
    Points
    1 139
    Par défaut Message erreur: "Le moteur de base de données Microsoft Access ne reconnait pas "
    De nada!

    "Mode Papa", quelle que soit la version, c'est important !
    Essayer. Rater. Essayer encore. Rater encore. Rater mieux. (Samuel Beckett)
    Ou encore:
    Quand ça ne tourne pas rond dans le carré de l'hypothénuse , c'est signe qu'il est grand temps de prendre les virages en ligne droite.(Pierre Dac)
    ... Des principes qui m'ont beaucoup aidé en informatique...

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

Discussions similaires

  1. [AC-2007] Erreur inconnue du moteur de base de données access
    Par Tom55555 dans le forum Access
    Réponses: 2
    Dernier message: 02/06/2015, 14h31
  2. [AC-2003] Moteur de bases de donnée microsoft access
    Par herve250wrf dans le forum Access
    Réponses: 7
    Dernier message: 24/05/2014, 06h59
  3. Réponses: 0
    Dernier message: 15/06/2010, 16h29
  4. message "Erreur de mise à jour de base de donnée"
    Par isac83 dans le forum Hébergement
    Réponses: 0
    Dernier message: 16/07/2008, 18h50
  5. Réponses: 1
    Dernier message: 23/06/2008, 16h48

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