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 :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonsoir.
à 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" a écrit dans le message de news:
Bonjour,
j'ai un petit probleme, surement pas grand chose mais ...
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
Bonsoir.
à 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" <nobody@isperfect.coh> a écrit dans le message de news:
41B32709.5020302@isperfect.coh...
Bonjour,
j'ai un petit probleme, surement pas grand chose mais ...
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 :
à 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" a écrit dans le message de news:
Bonjour,
j'ai un petit probleme, surement pas grand chose mais ...
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 :
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
bjf
Salut 3stones 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? a+ BJF
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
.
Salut 3stones
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?
a+
BJF
Salut 3stones 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? a+ BJF
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
.
Géo
bjf a écrit:
Salut 3stones 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? a+ BJF
-----Message d'origine----- Salut,
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 a écrit:
Salut 3stones
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?
a+
BJF
-----Message d'origine-----
Salut,
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 ? :-)
Salut 3stones 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? a+ BJF
-----Message d'origine----- Salut,
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
3stone
Salut,
"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.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Salut,
"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.
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
"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.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
bjf
Re 3stones Cette deuxième version me plaît beaucoup plus que la première car elle calcule l'écart de valeur par rapport à la valeur précédente et non plus par rapport à la valeur la plus grande de la table. Dans tous les cas merci pour cette réponse car c'est un problème que j'avais à résoudre!!! BJF
-----Message d'origine----- Salut,
"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]...
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.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
.
Re 3stones
Cette deuxième version me plaît beaucoup plus que la
première car elle calcule l'écart de valeur par rapport à
la valeur précédente et non plus par rapport à la valeur
la plus grande de la table.
Dans tous les cas merci pour cette réponse car c'est un
problème que j'avais à résoudre!!!
BJF
-----Message d'origine-----
Salut,
"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]...
Re 3stones Cette deuxième version me plaît beaucoup plus que la première car elle calcule l'écart de valeur par rapport à la valeur précédente et non plus par rapport à la valeur la plus grande de la table. Dans tous les cas merci pour cette réponse car c'est un problème que j'avais à résoudre!!! BJF
-----Message d'origine----- Salut,
"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]...