Fionction sql pour savoir si une date est comprise entre deux autre
mell01
Messages postés72Date d'inscriptionlundi 6 juin 2005StatutMembreDernière intervention15 mai 2006
-
22 déc. 2005 à 13:32
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012
-
22 déc. 2005 à 19:47
bonjour,
existe - il une fonction SQL pour savoir si une date est comprise entre deux autres?
J'ai essayé BETWWEN mais apparemment il ne compare pas les dates et me renvoit ttes les valeurs...
merci d'avance
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 22 déc. 2005 à 14:13
Ta base c'est de l' Access ou du SQL-serveur car la clause between fonctionne en Access je l'ai déjà utilisé avec des dates, il faut simplement tenir compte qu'Access utilise le format date de l'OS et si tu format tes dates différement dans VB il ne les reconnais pas.
scortex84
Messages postés379Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention20 avril 20111 22 déc. 2005 à 16:00
Hello ! Je pense que les dates c infernal ! Surtout entre les différents types : JJ/MM/AA ou MM/JJ/AA etc etc
De mon coté, je stock les dates dans des champs textes, puis plutot que d'utiliser between ou autre trucs galere, je fais " where IN()"
Par exemple :
Select truc from machin where datee in('10/12/05','11/12/05',' etc...
Ca marche ! J'ai déjà testé sur plusieurs années, ça fonctionne sans probleme.
C'est un peu boiteu, mais ça marche dans 100% des cas.
Pour génerer le "IN", j'utilise une fonction qui reçoit 2 dates et renvoi la chaine.
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 22 déc. 2005 à 19:47
Pas si mortel que ça les dates, il suffit en début de progamme de prendre le format de date utilisé par l'OS, puis de formater les champs dates avant de les enregister dans la base, il vas sans dire que le format du champ dans Access doit être de type date. Voici un exemple
A mettre dans un modul
'-------------------------------------------------------------------------
' lit une chaine de caractères
'-------------------------------------------------------------------------
Public Function mRegistry_QueryValueKeyString(Key As Long, SubKey As String, _
Name As String) As String
Dim lRetVal As Long
Dim hKey As Long
Dim sRetTxt As String
Dim lRetTxt As Long