Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/05/2011, 10h08   #1
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
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 :
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];
sooaah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 10h14   #2
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
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?
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 09h17   #3
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
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 :
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 :
1
2
SELECT int((sum(fixe.[DUREE APPEL])*86400)/3600) & ":" & int(((sum(fixe.[DUREE APPEL])*86400) Mod 3600)/60) & ":00"
FROM fixe;

Code SQL :
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 :
1
2
SELECT FIXE.[POSTE APPELANT], FIXE.[HEURE APPEL], [DUREE APPEL] AS Expr1, FIXE.[DESTINATION], FIXE.[JURIDICTION]
FROM FIXE;

Code SQL :
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?
sooaah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 10h22   #4
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Bonjour,

Le problème vient d'ici je pense :

Code :
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]
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 10h28   #5
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
Après correction tjs même soucis.
sooaah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 15h03   #6
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
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!
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 09h07   #7
Invité de passage
 
Homme
Étudiant
Inscription : 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 : 1
Points : 1
Requête testée qui demande de rentrer une valeur de paramètres :

Code :
1
2
SELECT int((sum(FIXE.[DUREE APPEL])*86400)/3600) & ":" & int(((sum(FIXE.[DUREE APPEL])*86400) Mod 3600)/60) & ":00"
FROM FIXE;


Code :
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 :
1
2
SELECT FIXE.[POSTE APPELANT], FIXE.[HEURE APPEL], FIXE.[DUREE APPEL] AS Expr1, FIXE.[DESTINATION], FIXE.[JURIDICTION]
FROM FIXE;


Code :
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 :
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.
sooaah est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h06.


 
 
 
 
Partenaires

Hébergement Web