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 :

Erreur de syntaxe dans la clause FROM. [AC-2013]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut Erreur de syntaxe dans la clause FROM.
    Bonjour,

    de cet requête qui fonctionne et qui me sort une liste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [T_D-Et_I].*, [T_D-Et_I].Affectation, T_Tata_Codes_Clôtures.CodeClotureFacturation
    FROM T_Tata_Codes_Clôtures INNER JOIN [T_D-Et_I] ON T_Tata_Codes_Clôtures.IdCloture = [T_D-Et_I].Tata_Code_Cloture
    WHERE ((([T_D-Et_I].Affectation)=1) AND ((T_Tata_Codes_Clôtures.CodeClotureFacturation)=Yes) AND (([T_D-Et_I].Date_Ouverture) Between #1/1/2015# And #1/31/2015#))
    ORDER BY [T_D-Et_I].Date_Ouverture;
    Je veux transformer ma requête pour pouvoir compter un nombre et avoir un pourcentage au lieu du listing; la requete ci-dessous me renvoie "Erreur de syntaxe dans la clause FROM"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Format(SUM(Pour_Toto_FACT), "Percent") AS Pour_Toto_FACT2, SUM(Nbre_Toto_FACT) AS Nbre_Toto_FACT2
    FROM (SELECT Count([Tata_Code_Cloture])/DCount("[Tata_Code_Cloture]","T_D-Et_I") AS Pour_Toto_FACT, Count(T_D-Et_I.[Tata_Code_Cloture]) AS Nbre_Toto_FACT
    WHERE (((T_D-Et_I.[Affectation])=1) AND ((T_Tata_Codes_Clôtures.[CodeClotureFacturation])=Yes) AND ((T_D-Et_I.[Date_Ouverture]) Between #1/1/2015# And #1/31/2015#))
    ORDER BY T_D-Et_I.[Date_Ouverture];
    Quelqu'un pourrait m'expliquer ce qui ne va pas?

    Cordialement

  2. #2
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Bonsoir,

    A priori, la clause FROM doit faire appel à une table et si tu as deux tables dans ta requête, on devrait y retrouver une clause INNER JOIN...

    Le plus simple serait que tu nous donnes la composition de tes deux tables et ce que tu veux en faire exactement. Si tu as la possibilité de nous indiquer également quels champs lient ces deux tables...

    Cordialement.

    PS. je pense qu'une simplification des noms de champs et de tables serait profitable et surtout plus lisible :-)
    Nous n'héritons pas la Terre de nos ancêtres, nous l'empruntons à nos enfants, prenons-en soin !
    (proverbe amérindien)

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    Merci,

    Vous m'avez mis la puce a l'oreille, Je regarde pour effectivement utiliser " inner joint " et je reviens soit faire une synthèse soit amener les éléments manquants a la bonne compréhension de mon problème.

    Cordialement

  4. #4
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    décidément fort incompétent

    Ma table [T_D-Et_I] contient entre autre :

    Titre_Demande / Nom_Demandeur / Affectation / Tata_Code_Cloture
    xxx1 / x1 / 1 / 1
    xxx2 / z1 / 1 / 2
    xxx3 / y2 / 3 / 1
    yyy1 / z1 / 2 / 3
    yyy2 / z1 / 1 / 3
    yyy3 / x1 / 1 / 4


    Ma table [T_Tata_Codes_Clôtures] contient entre autre :

    IdCloture / CodeCloture / CodeClotureUtilisation / CodeClotureFacturation
    1 / Assistance / "description Assistance" / Oui
    2 / Assistance déploiement / migration / "description Assistance déploiement / migration" / Non
    3 / Assistance pour travaux avec devis / "description Assistance pour travaux avec devis" / Oui
    4 / Changement ancien / "description Changement ancien" / Non
    5 / Exploitation / "description Exploitation" / Non

    Liaison entre les deux tables : Tata_Code_Cloture et IdCloture

    le résultat que je veux obtenir : si affectation =1 et Tata_Code_Cloture =1 ou 3 (code clôture facturable) alors les compter et en faire le pourcentage par rapport a l'ensemble de ceux pour qui affectation =1.
    Sortir les 2 chiffres dans la requête le nombre facturable et le pourcentage.

    Dans ma première requête je ne sort que le listing de ces demandes facturables et j'ai bien compris, grâce a bernardmichel que ma deuxieme requete ne peux pas marcher puisque je ne lie pas mes 2 tables. Mais cela devient un peu compliqué pour mes connaissances.

    Merci de votre aide

    Cordialement

  5. #5
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Points : 126
    Points
    126
    Par défaut
    bonjour,

    J'ai trouvé la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Format(SUM(Pour_Toto_FACT),"Percent") AS Pour_Toto_FACT2, SUM(Nbre_Toto_FACT) AS Nbre_Toto_FACT2
    FROM (SELECT Count(Tata_Code_Cloture)/DCount("Tata_Code_Cloture","[T_D-Et_I]") AS Pour_Toto_FACT, Count([T_D-Et_I].Tata_Code_Cloture) AS Nbre_Toto_FACT 
    FROM T_Tata_Codes_Clôtures INNER JOIN [T_D-Et_I] ON T_Tata_Codes_Clôtures.IdCloture = [T_D-Et_I].Tata_Code_Cloture 
    WHERE ((([T_D-Et_I].Affectation)=1) And ((T_Tata_Codes_Clôtures.CodeClotureFacturation)=Yes) And (([T_D-Et_I].Date_Ouverture) Between #1/1/2015# And #1/31/2015#)));
    Cordialement

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

Discussions similaires

  1. Erreur "erreur de syntaxe dans la clause from"
    Par laaroussi1 dans le forum Accès aux données
    Réponses: 10
    Dernier message: 18/07/2011, 20h55
  2. Réponses: 5
    Dernier message: 10/07/2007, 12h24
  3. [Access] "Erreur de syntaxe dans la clause FROM"
    Par Marie_2116 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 05/07/2007, 15h51
  4. Erreur de syntaxe dans la clause from
    Par shub dans le forum Access
    Réponses: 1
    Dernier message: 12/06/2006, 20h24
  5. Réponses: 2
    Dernier message: 03/06/2006, 00h22

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