[access]difference entre 2 date dans la requete

lscar Messages postés 18 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 21 mars 2007 - 20 oct. 2006 à 13:29
PADI2LIVE Messages postés 2 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 29 mai 2008 - 22 mars 2008 à 15:53
Bonjour,
est ce qu il y a pas un moyen ou une focntion qui permet le calcul de difference entre 2 dates dans la requet ,je donne exemple:
rs.open " select dated, datef , fonction( dated,datef) as duree from matable;",cnx....
dated la date de debut dans ma table , datef  la date de fin dans ma table et fonction est la fonction rechercher.. si cette fonction n'existe pas y a t il pas un moyen de faire ce calcule de la difference?

PS: je travaille avec access 2003 et VB

10 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 oct. 2006 à 14:04
Salut,

Tu peux essayer la fonction DateDiff("d", dated, datef) => "d" = interval entre les deux dates en jours

Soit
rs.open " select dated, datef , DateDiff("d", dated, datef) as duree from matable

Les autres intervals possible sont
Valeur, Description, ----
yyyy, Année, ----
q, Trimestre, ----
m, Mois, ----
y, Jour de l'année, ----
d, Jour, ----
w, Jour de la semaine, ----
ww, Semaine, ----
h, Heure, ----
n, Minute, ----
s, Seconde
 
@+,   Ju£i?n
0
lscar Messages postés 18 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 21 mars 2007
20 oct. 2006 à 15:38
merci pr la reponse mais ca marche pas il me dit erreur de syntaxe si je compile mais meme avant de complier il met la ligne de la requete en rouge, il ya un bleme dans les " que je marque en rouge DateDiff("d", dated, datef)..
autre solution svp?
0
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
20 oct. 2006 à 16:29
'llo


je vois pas bien comment on pourrait mettre un datediff dans un select, puisqu'un select doit porter sur les noms des champs de la table attaquée. Il vaudrait mieux dans la table en question créer un champ datedébut, un champ datefin, faire un select sur ces champs puis calculer la différence. Si elle rentre dans les clous on garde l'enregistrement sinon on passe au suivant.....


bon courage

Allez voir mon site !
http://www.amis-marolles.org
le site d'une association s'occupant de patrimoine et de traditions
0
lscar Messages postés 18 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 21 mars 2007
20 oct. 2006 à 17:22
dated et datef sont des champs de ma table :) en tt cas merci pr votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
20 oct. 2006 à 20:30
Salut, si dated et datef sont des champs Date, je ne vois pas la difficulté :

rs.open " select dated, datef , (datef - dated) as duree from matable;",cnx....
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
21 oct. 2006 à 01:38
Bonsoir,

Pour la synthaxe, c' est la traditionnelle
erreur des quotes.
Pour le reste, Dolphin Boy a raison :
il faut générer le champ duree.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 oct. 2006 à 09:13
Salut tout le monde.

> 335833 domsig: Avant de poster une réponse, j'essaie un minimum ce que je vais proposer comme réponse. DateDiff peu tres bien être utilisé dans une requête SQL. Tu n'a pas besoin que les champs soit FORCEMENT existant
Exemple tu peux tres bien faire ceci
SELECT 1 AS TEST FROM NomTable => meme si cet exemple n'a pas grand intéret il te montre simplement que tu fais "ce que tu veux" en requete SQL

Pour en revenir au problème.  Dolphin Boy a tout a fait raison (si tu veux l'écart en jours)

Pour ton problème de " j'ai oublie de les doubler lorsque l'on souhaite les garder dans un chaine de caractere.

Soit: rs.open " select dated, datef , DateDiff(""d"", dated, datef) as duree from matable"

@+,   Ju£i?n
0
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
24 oct. 2006 à 10:20
moi aussi j'essaie un minimum, mais on peut se tromper, ok ?

Allez voir mon site !
http://www.amis-marolles.org
le site d'une association s'occupant de patrimoine et de traditions
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 oct. 2006 à 10:30
Salut,

> domsig: Encore heureux que l'on peu se tromper
J'espère que tu ne l'as pas mal pris, car ce n'était pas le but

Aller bonne prog;

@+,   Ju£i?n
0
PADI2LIVE Messages postés 2 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 29 mai 2008
22 mars 2008 à 15:53
Label4.Text = DateDiff(DateInterval.Year, DATED Value, DATES.Value)








merci
0
Rejoignez-nous