Comparaison des dates

YPMN Messages postés 98 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 20 août 2012 - 17 avril 2005 à 22:38
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 17 avril 2005 à 23:51
Salut mes frères et soeurs de la grande communauté de laprogrammation vb!

C'est unautre problème qui nargue à ce jour:

comment construire une requête qui puisse être à mésure de me renvoyer les enregistrements comprises entre deux dates présentées dans deux textbox différents ?

En voici l'exemple avec lequel je peine:

1) "select*from Table where Fabrication >= ' " & trim(DateDebut) & " ' and
Expiration <=' " & Trim(DateFin) & " ' "
N.B.: Fabrication désigne le nom du champs de la Table contenant les
dates de Fabrication d'où la zone de texte DateDebut va chercher et
Expiration désigne le nom du champs de la Table contenant les
dates d'Expiration d'où la zone de texte DateFin va chercher...
... à l'echec du premier, je récourru à la seconde forme avec les DTPicker, mais mon calvaire malheureusement ne connait pas encore de fin:

2)"select*from Table where Fabrication>= DTPicker1 and Expiration <= DTPicker2"

Il se peut qu'une moindre chose me retienne sans que je le sache... alors que vousm'aidiez à la dénicher.

Au plaisir de vous savoir aimable...

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 avril 2005 à 23:51
Salut
(attention à bien mettre des espaces dans les cdes SQL, derrière Select par exemple, et ne pas en rajouter pour faire joli après l'ouverture de chaine ' car SQL le prendrait réellement pour un espace)
Comme déjà expliqué très longuement dans le forum (problème récurrant), dans le requètes SQL, les dates doivent être encadrées par des # (comme les ' pour les chaines)
De plus, comme la date française a un format différent de l'US (par défaut), il faut utiliser des artifices avec DateValue, genre :
"Select * from Table where Fabrication between #" & DateValue(trim(DateDebut)) & "# and #" & DateValue(Trim(DateFin)) & "#"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
Rejoignez-nous