URGENT : Compairaison de date et sql

visualstar Messages postés 18 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 17 février 2005 - 31 janv. 2004 à 16:36
djew Messages postés 30 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 27 octobre 2010 - 4 mai 2005 à 10:58
Comment fait on pour comparer deux dates dans une chaîne sql ?

Voici le code qu'on utilise :

SELECT * FROM Calendrier WHERE DateEvent >'" & DateLendemain & "' ORDER BY DateEvent, HeureEvent"

DateEvent vient d'un champ de la base access (format Date/Heure) et DateLendemain est une date du jour + 1 et elle marche.

Dès qu'on utilise un < ou >, le SELECT retourne n'importe quoi. Mais avec le =, ça fonctionne.

2 réponses

cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
1 févr. 2004 à 20:03
Il faut convertir ta variable de date en SQL Standard afin que le moteur access ne fasse pas de confusion entre les jours et les mois. Et ainsi d'être sur que ta comparaison se fait de la bonne facon.

Pour rappel, en SQL standard, une date s'écrit :
- JJ-MM-AAAA HH:mm:SS

Romelard Fabrice (Alias F___)
0
djew Messages postés 30 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 27 octobre 2010
4 mai 2005 à 10:58
Salut visualstar, j'ai été confronté au même probleme que toi, il faut d'abord que tu convertisses ta date au format anglais. Pour cela, utilises les deux fonctions de Nix:/forum.v2.aspx?ID=81665
<%
Function AngDate(LaDate)
AngDate = VerifDix(Month(LaDate)) & "/" & VerifDix(Day(LaDate)) & "/" & Year(LaDate)
End Function

Function VerifDix(LeChiffre)
If LeChiffre < 10 Then
VerifDix = "0" & LeChiffre
Else
VerifDix = LeChiffre
End If
End Function
%>
Ma Date en francais 01/06/2001 est en anglais : <%=AngDate("01/06/2001")%>

Ensuite ça marche niquel. Je reprends ton exemple et ça donne:

"SELECT * FROM Calendrier WHERE DateEvent >#" & AngDate(
DateLendemain) & "# ORDER BY DateEvent, HeureEvent"

PS: N'oublies pas les #.
bye, G!
0
Rejoignez-nous