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 :

problème syntaxe "mise entre crochet"


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut problème syntaxe "mise entre crochet"
    Bonjour à tous,
    Après avoir repris le code d'un prédécesseur plus "calé" que moi niveau access,
    J'ai ce genre de message d'erreur qui apparait :
    "Mise entre crochets non valide du nom [fixe.DUREE APPEL]". Ayant essayer de multiple changement de syntaxe, quelqu'un aurait-il une idée? Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT telephones.Alias, MonthName(Month(fixe.[DATE FACTURE])) AS Mois, Year(fixe.[DATE FACTURE]) AS Année, FIXE.[MONTANT APPEL], Int((Sum([fixe.DUREE APPEL])*86400)/3600) & ":" & Int(((Sum([fixe.DUREE APPEL])*86400) Mod 3600)/60) & ":00" AS [total_en_heure]
    FROM fixe, telephones, contrat
    WHERE (((fixe.[POSTE APPELANT])=telephones.telfixe) And ((contrat.Téléphone)=telephones.telfixe))
    GROUP BY telephones.Alias, fixe.[DATE FACTURE], [MONTANT APPEL];

  2. #2
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Points : 223
    Points
    223
    Par défaut
    Bonjour,

    Pourquoi changes-tu ta synthaxe uniquement pour ton [fixe.DUREE APPEL] ?
    Et ne mets-tu pas fixe.[DUREE APPEL] comme pour les autres champs?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    En ce qui concerne les messages d'erreurs c'est résolu, les fautes étaient situées dans plusieurs requêtes "cachées"

    Maintenant : le souci est que Access me demande la valeur du paramètre fixe.DUREE APPEL.

    Voici les différentes requêtes implicant cette donnée :


    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT telephones.Alias, fixe.[POSTE APPELANT], MonthName(Month(fixe.[DATE FACTURE])) AS Expr1, Year(fixe.[DATE FACTURE]) AS Expr2, Round(Sum(fixe.[MONTANT APPEL]),2) & "€" AS sommeMontant, Round(Sum(fixe.[UNITES APPEL]),4) AS SommeDeDUREE_APPEL, Int((Sum(fixe.[DUREE APPEL])*86400)/3600) & ":" & Int(((Sum(fixe.[DUREE APPEL])*86400) Mod 3600)/60) & ":00" AS total_en_heure, contrat.Types
    FROM fixe, telephones, contrat
    WHERE (((fixe.[POSTE APPELANT])=[telephones].[telfixe]) AND ((contrat.Téléphone)=[telephones].[telfixe]))
    GROUP BY telephones.Alias, fixe.[POSTE APPELANT], contrat.Types, fixe.[DATE FACTURE];

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT int((sum(fixe.[DUREE APPEL])*86400)/3600) & ":" & int(((sum(fixe.[DUREE APPEL])*86400) Mod 3600)/60) & ":00"
    FROM fixe;

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT telephones.Alias, MonthName(Month(fixe.[DATE FACTURE])) AS Mois, Year(fixe.[DATE FACTURE]) AS Année, FIXE.[MONTANT APPEL], Int((Sum(fixe.[DUREE APPEL])*86400)/3600) & ":" & Int(((Sum(fixe.[DUREE APPEL])*86400) Mod 3600)/60) & ":00" AS total_en_heure
    FROM fixe, telephones, contrat
    WHERE (((fixe.[POSTE APPELANT])=telephones.telfixe) And ((contrat.Téléphone)=telephones.telfixe))
    GROUP BY telephones.Alias, fixe.[DATE FACTURE], [MONTANT APPEL];

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT FIXE.[POSTE APPELANT], FIXE.[HEURE APPEL], [DUREE APPEL] AS Expr1, FIXE.[DESTINATION], FIXE.[JURIDICTION]
    FROM FIXE;

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [telephones].[Alias], [fixe].[POSTE APPELANT], MonthName(Month([fixe].[DATE FACTURE])) AS Mois, year([fixe].[DATE FACTURE]) AS Année, Round(Sum([fixe].[MONTANT APPEL]),2) & "€" AS sommeMontant, Int((Sum(fixe.[DUREE APPEL])*86400)/3600) & ":" & Int(((Sum([fixe.DUREE APPEL])*86400) Mod 3600)/60) & ":00" AS total_en_heure
    FROM fixe, telephones, contrat
    WHERE ((([fixe].[POSTE APPELANT])=[telephones].[telfixe]) And (([telephones].[Alias])='BiBliothèque CREC') And (([contrat].[Téléphone])=[telephones].[telfixe]))
    GROUP BY [telephones].[Alias], [fixe].[POSTE APPELANT], [fixe].[DATE FACTURE];
    Ce serait un problème d'alias?

  4. #4
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Points : 223
    Points
    223
    Par défaut
    Bonjour,

    Le problème vient d'ici je pense :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [telephones].[Alias], [fixe].[POSTE APPELANT], MonthName(Month([fixe].[DATE FACTURE])) AS Mois, year([fixe].[DATE FACTURE]) AS Année, Round(Sum([fixe].[MONTANT APPEL]),2) & "€" AS sommeMontant, Int((Sum(fixe.[DUREE APPEL])*86400)/3600) & ":" & Int(((Sum([fixe.DUREE APPEL])*86400) Mod 3600)/60) & ":00" AS total_en_heure
    FROM fixe, telephones, contrat
    WHERE ((([fixe].[POSTE APPELANT])=[telephones].[telfixe]) And (([telephones].[Alias])='BiBliothèque CREC') And (([contrat].[Téléphone])=[telephones].[telfixe]))
    GROUP BY [telephones].[Alias], [fixe].[POSTE APPELANT], [fixe].[DATE FACTURE];

    Remplace ton [fixe.DUREE APPEL] par fixe.[DUREE APPEL]

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Après correction tjs même soucis.

  6. #6
    Membre actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Points : 223
    Points
    223
    Par défaut
    Essaye chacune de tes requêtes séparément et dit nous exactement laquelle a un problème. J'ai déjà eu ce type de problème où il fallait entrer des paramètres pour un champs...malheureusement je ne me souviens pas de ce que j'avais fait pour pallier à ce problème ^^.
    Il me semblait que c'était un problème de parenthèse ou quelque chose comme cela...
    Réecrit ton code déjà plus proprement :
    Les tables sans crochet, les champs avec espaces avec crochet,...
    Ce sera déjà plus lisible pour nous et pour toi aussi!

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Requête testée qui demande de rentrer une valeur de paramètres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT int((sum(FIXE.[DUREE APPEL])*86400)/3600) & ":" & int(((sum(FIXE.[DUREE APPEL])*86400) Mod 3600)/60) & ":00"
    FROM FIXE;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT telephones.Alias, MonthName(Month(FIXE.[DATE FACTURE])) AS Mois, Year(FIXE.[DATE FACTURE]) AS Année, FIXE.[MONTANT APPEL], Int((Sum(FIXE.[DUREE APPEL])*86400)/3600) & ":" & Int(((Sum(FIXE.[DUREE APPEL])*86400) Mod 3600)/60) & ":00" AS total_en_heure
    FROM FIXE, telephones, contrat
    WHERE (((FIXE.[POSTE APPELANT])=telephones.telfixe) And ((contrat.Téléphone)=telephones.telfixe))
    GROUP BY telephones.Alias, FIXE.[DATE FACTURE], FIXE.[MONTANT APPEL];


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT FIXE.[POSTE APPELANT], FIXE.[HEURE APPEL], FIXE.[DUREE APPEL] AS Expr1, FIXE.[DESTINATION], FIXE.[JURIDICTION]
    FROM FIXE;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [telephones].[Alias], FIXE.[POSTE APPELANT], MonthName(Month(FIXE.[DATE FACTURE])) AS Mois, year(FIXE.[DATE FACTURE]) AS Année, Round(Sum(FIXE.[MONTANT APPEL]),2) & "€" AS sommeMontant, Int((Sum(FIXE.[DUREE APPEL])*86400)/3600) & ":" & Int(((Sum(FIXE.[DUREE APPEL])*86400) Mod 3600)/60) & ":00" AS total_en_heure
    FROM FIXE, telephones, contrat
    WHERE (((FIXE.[POSTE APPELANT])=[telephones].[telfixe]) And (([telephones].[Alias])='BiBliothèque CREC') And (([contrat].[Téléphone])=[telephones].[telfixe]))
    GROUP BY [telephones].[Alias], FIXE.[POSTE APPELANT], FIXE.[DATE FACTURE];

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT telephones.Alias, FIXE.[POSTE APPELANT], MonthName(Month(FIXE.[DATE FACTURE])) AS Expr1, Year(FIXE.[DATE FACTURE]) AS Expr2, Round(Sum(FIXE.[MONTANT APPEL]),2) & "€" AS sommeMontant, Round(Sum(FIXE.[UNITES APPEL]),4) AS SommeDeDUREE_APPEL, Int((Sum(FIXE.[DUREE APPEL])*86400)/3600) & ":" & Int(((Sum(FIXE.[DUREE APPEL])*86400) Mod 3600)/60) & ":00" AS total_en_heure, contrat.Types
    FROM FIXE, telephones, contrat
    WHERE (((FIXE.[POSTE APPELANT])=telephones.telfixe) And ((contrat.Téléphone)=telephones.telfixe))
    GROUP BY telephones.Alias, FIXE.[POSTE APPELANT], contrat.Types, FIXE.[DATE FACTURE];


    NB : je viens de voir que la donnée "DUREE APPEL" ne figure dans aucune des tables des relations.

Discussions similaires

  1. [AC-2003] Probleme de syntaxe (mise entre crochets)
    Par Nessie37 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 10/09/2009, 10h45
  2. Problème "LoadModule ssl_module modules/mod_ssl.so"
    Par ldcarpathes dans le forum Apache
    Réponses: 9
    Dernier message: 24/01/2008, 12h07
  3. Réponses: 3
    Dernier message: 20/01/2007, 21h36
  4. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 16h59
  5. Réponses: 5
    Dernier message: 30/05/2005, 17h58

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