Update sql access
choupinette
-
theoprof -
theoprof -
Bonjour,
j'ai une table compteur que je dois mettre a jour, pour cela j'ai écrit l'instruction suivante :
update compteur, tablebis set compteur.marge = compteur.marge + sum (tablebis.marge) ;
Mais il m'affcihe un message d'erreur : disant que j'essaye d'executer une requete ne comprenant pas l'experssion spécifiée "compteur.marge + sum (tablebis.marge)" comme une partie de la fonction d'agregat.
Je ne comprend pas pourquoi il m'affiche cela.
Voici le contenu de ma table compteur : marge
tablebis : agence, marge, quantité etc ....
Merci d'avance
j'ai une table compteur que je dois mettre a jour, pour cela j'ai écrit l'instruction suivante :
update compteur, tablebis set compteur.marge = compteur.marge + sum (tablebis.marge) ;
Mais il m'affcihe un message d'erreur : disant que j'essaye d'executer une requete ne comprenant pas l'experssion spécifiée "compteur.marge + sum (tablebis.marge)" comme une partie de la fonction d'agregat.
Je ne comprend pas pourquoi il m'affiche cela.
Voici le contenu de ma table compteur : marge
tablebis : agence, marge, quantité etc ....
Merci d'avance
A voir également:
- Update sql access
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Windows update windows 10 - Guide
- Wsus offline update - Télécharger - Systèmes d'exploitation
7 réponses
Bonjour,
Tu ne peux pas utiliser deux noms de table dans un ordre update, un code correct serait
A chaque requête, la colonne marge sera augmentée par la somme de la colonne marge de ta table tablebis, est-ce bien cela que tu veux ou bien veux-tu simplement avoir la somme de la colonne marge de ta table tablebis dans la colonne marge de ta table compteur, si c'est le cas alors le code serait
A plus
Tu ne peux pas utiliser deux noms de table dans un ordre update, un code correct serait
update compteur set marge = marge + (select sum(marge) from tablebis)
A chaque requête, la colonne marge sera augmentée par la somme de la colonne marge de ta table tablebis, est-ce bien cela que tu veux ou bien veux-tu simplement avoir la somme de la colonne marge de ta table tablebis dans la colonne marge de ta table compteur, si c'est le cas alors le code serait
update compteur set marge = (select sum(marge) from tablebis)
A plus
et bien je veux que la somme de la marge de la tablebis vient s'ajouter à celle de la table compteur mais j'ai écrit ce que tu m'a dit et il affiche maintenant : l'opération doit utiliser une rêquete qui peut être mise à jour
c'est normal?
c'est normal?
Bonjour,
Oups, j'ai lu trop vite, j'avais pas vu que tu utilisais access, l'ordre que je t'ai donné ne fonctionne pas.
Tu peux éventuellement obtenir ce que tu veux avec deux requêtes:
La première requête fait la somme de la colonne marge et crée une nouvelle table, et ensuite tu utilises cette nouvelle table dans ta deuxième requête. Je ne suis pas un grand spécialiste d'Access.
Si cela peux t'aider.
A plus
Oups, j'ai lu trop vite, j'avais pas vu que tu utilisais access, l'ordre que je t'ai donné ne fonctionne pas.
Tu peux éventuellement obtenir ce que tu veux avec deux requêtes:
select sum(marge) from tablebis as TotalMarge into NouvelleTableet après
update compteur set marge = marge . NouvelleTable.TotalMarge
La première requête fait la somme de la colonne marge et crée une nouvelle table, et ensuite tu utilises cette nouvelle table dans ta deuxième requête. Je ne suis pas un grand spécialiste d'Access.
Si cela peux t'aider.
A plus
en fait le into ne fonctionne pas, mais g déjà récuperer la sum de la marge avec un requete donc si je la met dans une table avec un insert into après je peut faire un update à partie de la donnée que j'ai mise dans la table à partir du insert into?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
et bien quand j'écris l'instruction que tu me dis access m'ouvre une boite de dialogue ou je dois lui ecrire le montant de MonTotal.
En fait MonTotal resulte d'une requete je l'ai pas encore mis dans une table, sa fonctionnne quand même si c pas dans une table?
En fait MonTotal resulte d'une requete je l'ai pas encore mis dans une table, sa fonctionnne quand même si c pas dans une table?
Bonjour,
Décidément, c'est pas mon jour, alors voici le code correct pour insérer la somme dans une nouvelle table et ensuite récupérer cette somme pour mettre à jour l'autre table:
J'ai essayé les deux requêtes séparément et cela fonctionne.
A toi de voir
Décidément, c'est pas mon jour, alors voici le code correct pour insérer la somme dans une nouvelle table et ensuite récupérer cette somme pour mettre à jour l'autre table:
SELECT sum(montant) as TotalMarge into NouvelleTable from tablebiset
update compteur , NouvelleTable set marge = marge + NouvelleTable.TotalMarge
J'ai essayé les deux requêtes séparément et cela fonctionne.
A toi de voir