Requête vba access qui ne marche pas

Résolu/Fermé
arzawe Messages postés 70 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 14 septembre 2014 - 27 févr. 2008 à 10:36
arzawe Messages postés 70 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 14 septembre 2014 - 28 févr. 2008 à 09:14
Bonjour,



J'ai un souci de programmation :

J'ai des données dans une table [Plan], que j'ai besoin de sommer pour mettre à jour la table [Suivi Productivité vs forecast 1].

J'ai rédigé cette ligne de commande :

sql2 = "UPDATE [Suivi Productivité vs Forecast 1] " & _
"SET [Suivi Productivité vs Forecast 1].[Perfo Forecast] = SELECT Sum([Plan].[perfo forecast] AS [Sommedeperfo forecast] " & _
"FROM Plan INNER JOIN [Suivi Productivité vs Forecast 1] " & _
"ON (Plan.[Type ini] = [Suivi Productivité vs Forecast 1].[Sac ou Gaine]) " & _
"AND (Plan.[ligne forecast] = [Suivi Productivité vs Forecast 1].Ligne) " & _
"GROUP BY Plan.[ligne forecast], Plan.[Type ini]"


Mais quand je l'exécute, il me renvoie une erreur de syntaxe. Comme je suis dessus depuis un moment, je ne la vois pas. Quelqu'un peut-il m'aider ?
Je travaille sur Access 2003.

Merci d'avance

8 réponses

blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 avril 2024 3 286
27 févr. 2008 à 10:40
Salut,
0
arzawe Messages postés 70 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 14 septembre 2014 5
27 févr. 2008 à 10:41
Désolée, j'ai fais une erreur de touches sur mon clavier
0
RDB77 Messages postés 66 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 4 avril 2008 7
27 févr. 2008 à 11:31
Tu as trouver le pb?
0
arzawe Messages postés 70 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 14 septembre 2014 5
27 févr. 2008 à 11:35
Non, et pourtant, je cherche
0
RDB77 Messages postés 66 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 4 avril 2008 7
27 févr. 2008 à 11:37
je comprend pas ta requete. Tu utilise pas de dataAdaptater et de dataSet et ou est la connexion a ta base?
0
arzawe Messages postés 70 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 14 septembre 2014 5
27 févr. 2008 à 11:45
Je ne sais pas ce qu'est un dataAdaptater.
Ma table A est remplie de données que je veux sommer pour mettre à jour ma table B.

donc pour mon champs Z de table B, je veux qu'il prenne la somme du champs X sur table A, sachant que les tables A et B sont liées par 2 champs ( V et W)
Pour sommer mon champs X, il faut que je regroupe ma table A sur deux champs T et U.

Est-ce plus clair ainsi ?
0

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

Posez votre question
Mister Moot Messages postés 18 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 27 février 2008
27 févr. 2008 à 11:42
T'as oublier de fermer ta parenthèse du "sum"
0
arzawe Messages postés 70 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 14 septembre 2014 5
27 févr. 2008 à 11:47
Merci. Mais j'ai essayé, et il n'est toujours pas d'accord (erreur 3075)
0
Mister Moot Messages postés 18 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 27 février 2008
27 févr. 2008 à 12:06
sql2 = "UPDATE [Suivi Productivité vs Forecast 1]
SET [Suivi Productivité vs Forecast 1].[Perfo Forecast] = SELECT Sum([Plan].[perfo forecast])
FROM Plan
INNER JOIN [Suivi Productivité vs Forecast 1]
ON (Plan.[Type ini] = [Suivi Productivité vs Forecast 1].[Sac ou Gaine])
WHERE (Plan.[ligne forecast] = [Suivi Productivité vs Forecast 1].Ligne)
GROUP BY Plan.[ligne forecast], Plan.[Type ini]"

essaie ca.
0
Mister Moot Messages postés 18 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 27 février 2008
27 févr. 2008 à 12:08
Me suis gouré:

sql2 = "UPDATE [Suivi Productivité vs Forecast 1]
SET [Suivi Productivité vs Forecast 1].[Perfo Forecast] = (SELECT Sum([Plan].[perfo forecast])
FROM Plan
INNER JOIN [Suivi Productivité vs Forecast 1]
ON (Plan.[Type ini] = [Suivi Productivité vs Forecast 1].[Sac ou Gaine])
WHERE (Plan.[ligne forecast] = [Suivi Productivité vs Forecast 1].Ligne)
GROUP BY Plan.[ligne forecast], Plan.[Type ini])"

Ca me plait mieux
0
arzawe Messages postés 70 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 14 septembre 2014 5 > Mister Moot Messages postés 18 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 27 février 2008
27 févr. 2008 à 14:26
Merci beaucoup,

Mais il me met "erreur 3073 : Operation must use an updateable query"
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 17 avril 2024 3 286
27 févr. 2008 à 14:42
Tu fais comment pour l'exécuter ?
0
arzawe Messages postés 70 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 14 septembre 2014 5
27 févr. 2008 à 15:36
J'ai mis ma requête dans un module vba (il est à noter que d'autre requêtes sql de mon module fonctionnent).
Je saisie la ligne : DoCmd.RunSQL sql2
Et ensuite il me dit des trucs désagréables. Après vérification, mes autres mises à jour se sont faites, mais pas celle là.
0
arzawe Messages postés 70 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 14 septembre 2014 5
28 févr. 2008 à 09:14
Bonjur à tous et merci de votre aide.

Comme je n'arrivais pas à faire ce que je voulais, j'ai fini par créer une table avec mes sommes et regroupements et ensuite je mets à jour à partir de cette table. Ce n'est pas vraiment ce que je souhaitais, mais je n'ai pas pu trouver mieux pour le moment.

A bientôt
0