|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 3 ![]() |
Bonjour,
J'aurais besoin d'aide. En Access 2003, j'ai une table dont la structure est comme suit (j'ai mis des valeurs en exemple) : ID--------Date ---------Valeur---------ValeurPrecedent 1-------01/01/2011-------- toto 2-------01/01/2011-------- titi 3-------01/01/2011--------lulu 1-------02/01/2011--------manu 2-------02/01/2011--------lili 3-------02/01/2011------- adele 1-------03/01/2011--------lolo 2-------03/01/2011-------nono 3-------03/01/2011--------lala Avec valeurPrecedent à NULL Comment faire (avec instruction SQL UPDATE si possible) pour mettre à jour le champ ValeurPrecedent à partir de la date 02/01/2011 pour que ce champ prenne la valeur du champ "Valeur" à la date précédente et pour le même ID ? C'est à dire : ID--------Date ---------Valeur---------ValeurPrecedent 1-------01/01/2011-------- toto 2-------01/01/2011-------- titi 3-------01/01/2011--------lulu 1-------02/01/2011--------manu-----------toto 2-------02/01/2011--------lili---------------titi 3-------02/01/2011------- adele------------lulu 1-------03/01/2011--------lolo--------------manu 2-------03/01/2011-------nono-------------lili 3-------03/01/2011--------lala--------------adele Je vous remercie |
|
|
00
|
|
|
#2 | ||
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 445 ![]() |
Voici la requête que tu pourrais exécuter lorsque tu insères une nouvelle valeur dont l'ID existe déjà
Code :
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2011 Messages : 3 ![]() |
Bonjour al1_24,
Merci de ta réponse mais au fait, j'aurais du donner un exemple plus réaliste. En pratique, le champ valeur ne contient pas du texte mais des chiffres (des cours de bourses). Donc une ligne doit ressembler à cela ID-------------------Date-------------Valeur----ValeurPrecedent------- NomEntreprise-------02/01/2011--------40 Et les valeurs sont insérées une bonne fois pour toute dans la table (donc j'aurai ni de nouvelles date à ajouter ni de nouvelles valeurs car les données sont déjà présentes dant la table. Je ne sais pas si ton code peut être adapter à mon cas (j'ai réfléchi et je ne trouve pas de solution )As-tu une idée ? Merci beaucoup ! |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() |
Code :
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
||
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : août 2011 Messages : 3 ![]() |
Merci beaucoup iberserk pour la réponse mais j'ai essayé et j'ai l'erreur en image jointe. J'ai tout essayé mais je n'arrive pas à voir où est le problème.
J'ai mis aussi en pièce jointe l'image de ma table. Voici le code (VBA Access) que j'ai écrit : Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() |
Essayez ça: (parenthèse fermante mal placée)
Code :
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
||
|
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Inscription : décembre 2008 Messages : 64 ![]() |
Bonjour,
pour ma part je peux te proposer cette requête qui marche (testée en vrai) mais avec Mysql (je n'ai pas Access 2003) Je pense que tu peux t'en inspirer en remplaçant la fonction timediff par son équivalent, et peut-être en changeant la manière dont est faite la jointure (par exemple avec un from au lieu du update table1 t, table1, f le seul hic serait que l'update de Access ne puisse référencer plusieurs tables. Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com