j'ai un petit probleme, surement pas grand chose mais ...
dans une base j'ai :
Date compteur
1.11.2004 10
2.11.2004 12
3.11.2004 18
4.11.2004 25
etc ....
comment trouver par SQL la difference :
Date compteur difference
1.11.2004 10 10
2.11.2004 12 2
3.11.2004 18 6
4.11.2004 25 7
etc ....
Le premier compteur n'est pas trop important je peux le gerer autrement
si cela pose probleme de ne pas avoir de date avant le 1.11.2004, par
contre le joint entre les mois doit etre fait :
31.12.2004 20 4
1.1.2005 25 5
Vous avez une idee ?
Amicalement
Géo
à mon avis, le plus simple serait de passer par un fonction public que tu
appelles à chaque enregistrement en passant la date en paramètres; la
fonction faisaint la différence des jours et renvoyant le nombre de jours
écoulés.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Géo" <nob...@isperfect.coh> a écrit dans le message de news:
41B32709...@isperfect.coh...
"Géo"
> dans une base j'ai :
>
> Date compteur
> 1.11.2004 10
> 2.11.2004 12
> 3.11.2004 18
> 4.11.2004 25
> etc ....
>
> comment trouver par SQL la difference :
> Date compteur difference
> 1.11.2004 10 10
> 2.11.2004 12 2
> 3.11.2004 18 6
> 4.11.2004 25 7
> etc ....
SELECT LaDate,
Compteur,
[Compteur]-Nz(DMax("Compteur","LaTable","[Compteur]<" & [Compteur]),0) AS Diff
FROM LaTable
ORDER BY LaDate;
que tu peux saisir directement comme code SQL.
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
>-----Message d'origine-----
>.
>
Bon , ce n'est pas trop grave, par definition un compteur s'incremente
toujours ...
Par contre (c'est compteur manuel) il revient a 0 apres un tour
complet. Mais ça je le gere au moment de l'insertion des valeurs.
je vais tester le code de 3Stone ... ça se prononce comment ? :-)
merci !
Géo
"bjf"
Juste une question. Que se passe-t-il si compteur a les
valeurs suivantes:
12
18
25
20
23
..
etc
donc pas forcément en ordre croissant?
-------------------------------------------------
Et cela donnerait des résultats négatifs ?
Mais, dans le "DMax" tu peux également utiliser une clause "Where"
sur la date au lieu de la mettre sur le [compteur]...
Ce qui ferait:
SELECT LaDate,
Compteur,
[Compteur]-Nz(DMax("[Compteur]","LaTable","[LaDate]<" &
Format([LaDate],"\#mm-dd-yyyy\#")),0) AS Diff
FROM LaTable
ORDER BY LaTable.LaDate;
mais dans ce cas, ce sont les dates qui doivent être "unique"... (pas de doublons)
Si tel n'est pas le cas, il manque un "NumAuto" dans la table pour "trier" dessus!
Cependant, vu la progression des valeurs données par Géo
la solution proposée précédemment convient.
>-----Message d'origine-----
>Salut,
>
>"bjf"
>Juste une question. Que se passe-t-il si compteur a les
>valeurs suivantes:
>12
>18
>25
>20
>23
>...
>.
>
Géo