1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Questions générale
Sujet n° 556 |
Requete de somme partielle |
le 13/10/2011 : 08:48 par Jeancharles
visiteur |
Bonjour,
Je voudrais faire une requete de mise à jour qui me permette de calculer un solde en fonction des enregistrements.
Donc j'ai ma table qui contient les champs
montant solde
et je voudrais faire une requete qui me sorte le resultat suivant et mette la table à jour
Montant Solde 3 3 2 5 -4 1 5 6
Etc
J'ai essayé avec du dlookup du stylesolde: RechDom("[montant]";"[tbloperations]";[ref]-1)+[montant]Mais ca ne calcule pas bien la partie [ref]-1, ensuite je suis passé par une requete intermédiaire qui me crée la bonne valeur de ref-1 que j'ai appelé [idvalid] et je repars sur un dlookupmont2: RechDom("[mont]";"[rqgraphid]";"[idvalid]")mais ca ne marche pas mieux alors que je vois le idvalid affiché correctement dans la ref.J'ai tenté de mette un nz() devant le idvalid mais rien de mieux je suis bloqué...Merci de votre aide |
|
|
Réponse n° 1 -------- le 13/10/2011 : 14:23 par 3Stone
Administrateur
|
Bonjour,
Ce qui manque dans cette tentative, c'est une colonne sur laquelle on puisse trier. Cette valeur doit évidemment respecter l'ordre dans lequel tu cherches à additionner les valeurs. Cela peut être un simple numéroauto, une date...
As tu un tel champ dans ta table ?
Cordialement, Pierre(3stone) |
|
|
Réponse n° 2 -------- le 13/10/2011 : 14:55 par jeancharles
visiteur |
Bien sur :) J'ai un champ "ref" dans la table et dans la requete de calcul j'ai meme crée un champ [idvalid] "ref-1" pour avoir la "bonne" ref sur laquelle indexer, mais toujours pas.... Voila le code de la requete de traitement elle s'appele rqgraphid SELECT [ref]-1 AS idvalid, tbloperations.montant AS mont, tbloperations.ref AS ref2 FROM tbloperations;
et voila le code de la requete de traitement qui ne fonctionne pas SELECT rqgraphid.ref2, rqgraphid.idvalid, rqgraphid.mont, DLookUp("[mont]","[rqgraphid]","[idvalid]") AS mont2 FROM rqgraphid;
Merci de l'aide |
|
|
Réponse n° 3 -------- le 13/10/2011 : 16:48 par 3Stone
Administrateur
|
Bonjour, Il faut donc l'utiliser... dans une requête : Code :Solde: DSum("Montant";"tblOperations";"[Ref] < " & [Ref] )
pour une Ref de type numérique. Cordialement, Pierre(3stone) |
|
|
Réponse n° 5 -------- le 14/10/2011 : 14:45 par jeancharles
visiteur |
Je me suis trompé dans ma structure !!! Il ne faut pas que je calcule mon index par ref mais juste par "enregistrement précédent" parce que si je rentre un nouvel enregistrement avec une date antérieure ca me plante les calculs.. Donc je cherche la formule magique pour qu'il aille chercher "enregistrement précédent" et pas "ref précedente" comme ca je trie mes enregistrements par date et je suis sur d'etre toujours bon. Merci et désolé de la betise :) |
|
|
Réponse n° 7 -------- le 14/10/2011 : 18:36 par jeancharles
visiteur |
Si je les trie par date d'echéance mais en sachant que je peux avoir plusieurs enregistrements à la meme échéanche comment s'organise le 2° critère de tri ? C'est à moi de le définir ? Merci |
|
|
Réponse n° 8 -------- le 15/10/2011 : 00:47 par 3Stone
Administrateur
|
Bonjour,
Si nécessaire, une date peut également contenir l'heure et les minutes, ce qui réduit la possibilité de doublons...
C'est comme toujours l'analyse préalable qui défini les champs et informations nécessaires. On ne peut extraire que les informations qui existent; ainsi, si une date/heure ne suffit pas, il faut y ajouter un numéro d'ordre.
Si cela n'a pas été prévu, on peut essayer de verser les enregistrements dans une table temporaire qui comporte un numéroauto pour avoir alors un champ sur lequel trier.
Cordialement, Pierre(3stone) |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|