Demande d'aide sur requete sql sur vba access

penny05
Messages postés
105
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
18 janvier 2007
- 24 mars 2006 à 16:11
penny05
Messages postés
105
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
18 janvier 2007
- 27 mars 2006 à 09:13
Bonjour,
je suis débutant sur access vba et je cherche a développer un programme sur vba:

ainsi je veux construire une requete sql qui va:
pour chaque "article"
"prendre les valeurs du champ heures de la table classement suivant un critere date (entre date a et date b) et faire la somme "
ensuite il s'agira de les écrire sur une nouvelle table crée.

Et pour finir cette action doit avoir lieu sur double click
J'ai écrit le code suivant mais ca marche pas: please à l'aide je craque!!!

Private Sub Modifiable45_DblClick(Cancel As Integer)


MyValarticle = CStr(Me![Modifiable45])
Module1.Modif_Data Me
'affiche sur un formulaire les données de l'article'
'création du tableau avec les sommes'
CurrentDb.Execute "SELECT * FROM [classement idéal]" & _
"GROUPBY([RCN])" & _
"WHERE ((([classement idéal].[année/mois]) = 200509))" & _
"Create table Résultats (Totalhours double constraint)" & _
"Select Résultats.Totalhours, sum(classement .heures) as 6 mois glissés " & _
"From Résultats"


End Sub

6 réponses

econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
23
24 mars 2006 à 16:37
Salut,



Qu'entends-tu par "ce code ne marche pas" ?

Tu as un message d'erreur ? Pas de réponse ? Une réponse incorrecte ? ... ?



Une petite chose déjà :

Si je réécris ta requête sur une seule ligne, çà donne ceci :



SELECT
* FROM [classement idéal]GROUPBY([RCN])WHERE ((([classement
idéal].[année/mois]) = 200509))Create table Résultats (Totalhours
double constraint)Select Résultats.Totalhours, sum(classement .heures)
as 6 mois glissés From Résultats





Alors oui. Il y a un problème.

Cette requête est incompréhensible pour un serveur SQL.

Il manque des espaces entre les mots clés, et des points virgules entre les requêtes, car tu as 3 requêtes à la suite ci-dessus.





Le résultat final devrait plutôt être :

SELECT * FROM [classement
idéal] GROUPBY([RCN]) WHERE ((([classement idéal].[année/mois]) =
200509));Create table Résultats (Totalhours double constraint);Select
Résultats.Totalhours, sum(classement.heures) ??as 6 mois glissés?? From
Résultats



En rouge, un truc qui n'est pas syntaxiquement bon. Je ne sais pas ce que tu veux mettre là.










Manu
0
penny05
Messages postés
105
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
18 janvier 2007
2
24 mars 2006 à 16:52
Merci de me répondre
Oui j'ai des messages d'erreur dés lors que je lance l'application.
Le terme en rouge c'est pour donner le nom du champ calculé (ce que j'avais vu dans un book mais apparemment cela ne fonctionne pas).
Aussi il me signale à présent une erreur de syntaxe dans la clause from.
Et si je devais l'écrire sur plusieurs lignes de manière à le rendre plus comprehensible y'a t'il une syntaxe particuliere.
merci d'avance.
PS: au début dois je rajouter le terme CurrentDb.Execute??
0
econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
23
24 mars 2006 à 17:29
Découpe ta requête en 3, puisqu'il y a trois requête.

Ensuite, si tu veux encore découper davantage, utilise la concaténation (&), mais en faisant attention aux espaces.


CurrentDb.Execute "SELECT * FROM
[classement idéal] GROUPBY([RCN]) " & _

"WHERE ((([classement
idéal].[année/mois]) = 200509));"



CurrentDb.Execute "Create table Résultats (Totalhours
double constraint);"



CurrentDb.Execute "Select Résultats.Totalhours, sum(classement.heures) ??as 6 mois glissés?? From Résultats"


Manu
0
econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
23
24 mars 2006 à 17:32
Aussi il me signale à présent une erreur de syntaxe dans la clause from.

Si [classement idéal] n'est
pas une table, alors oui, il y aura une erreur. D'ailleurs, je me
demande même si une table peut contenir des espaces dans son nom. Ca me
parait louche.


Manu
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yohann2004
Messages postés
36
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
7 août 2007

24 mars 2006 à 17:42
Si si en tout cas avec Access et Sql on peut insérer des espaces dans le nom d'une table mais c'est source d'erreurs de syntaxe !
0
penny05
Messages postés
105
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
18 janvier 2007
2
27 mars 2006 à 09:13
Je retrouve toujours cette meme erreur sur la clause from et pourtant [classement idéal] est bien une table. Je l'ai meme renommé sans espace pour voir et le résultat est identique.
Y'a t'il une autre alternative.
0