Rechercher : dans
Par :

Problème comparaison de DATE dans ACCESS VBA

Dernière réponse le 23 jun 2008 à 15:02:52 popo68, le 9 oct 2006 à 17:59:44 
 Signaler ce message aux modérateurs

Bonjour à tous !

Petit question de noob (attention accroché vous ! )

Je veux comparer un champs date avec un select... case :

ex :
select wdate
--- case wdate = "01/01/2006"

Pourquoi quand je tape le cas "01/01/2006" quand j'ai un enregistement avec cette date, il ne rentre pas dans la condition du case ?
Est-ce un problème de conversion de date anglaise-francaise ??

Merci les gars !

Meilleures réponses pour « Problème comparaison de DATE dans ACCESS VBA » dans :
Javascript - L'objet Date VoirLes particularités de l'objet Date L'objet Date permet de travailler avec toutes les variables qui concernent les dates et la gestion du temps. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser. La...
VBScript - Les fonctions de date et de temps VoirLes fonctions de date et de temps Fonction Description Date Retourne la date du système DateAdd(interval, number, date) Ajoute un intervalle de temps (interval) à une...

1

blux, le 10 oct 2006 à 09:22:18
  • +1

Salut,

les dates s'utilisent avec un délimiteur particulier : #
Peux-tu essayer :

case wdate = #01/01/2006#
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

2

popo68, le 10 oct 2006 à 10:25:36

En faite j'ai déjà essayé #, ', ", etc. rien de marche

alors je suis repasser par un IF au lieu d'un SELECT...CASE, et là ca marche :

OK : If wdate = "01/01/2006" then ...

alors est ce que dans le cas d'un select, on ne peut pas tester de date ??

Select wdate
---Case wdate = "01/01/2006" -> marche pas ...

Bon, mon problème est règlé, mais si quelqu'un sait si ca marche avec un select...case ?

Merci,
(merci Blux ^^)

Répondre à popo68

3

blux, le 10 oct 2006 à 11:14:24

Il est déclaré comment ton wdate : date, string ?
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

4

popo68, le 10 oct 2006 à 14:27:16

En faite j'ai mis wdate pour l'exemple, mais je chope directement l'info de mon recordset, donc ca fait ca :

select rs!date
---case rs!date = "01/01/2006"

alors peut etre qu'il faut transformer tout ca, et qu'il y a un problème de format par rapport au date américaine ?

Répondre à popo68

5

blux, le 10 oct 2006 à 15:07:08

Ben déjà, si c'est 01/01/2006 en frenchie, ça sera pareil en US... ;-)

Dans ta table attaquée par ton rs, date est décrit en quoi ?
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

6

 JMBR, le 23 jun 2008 à 15:02:52

Dans VBA (avec Excel), ça fonctionne mais en mettent le numéro interne de la date (plus sûr).
Cells(No_Lignes, 15) est une date (ex. 1-1-2090 à l'affichage mais qui vaut 69399 en interne)
No_Lignes est incrémenté et fait parcourir une colonne d'Excel.

Select Case Cells(No_Lignes, 15)
Case 69399
Nb_Lignes_2090 = Nb_Lignes_2090 + 1
Case 72686
Nb_Lignes_2099 = Nb_Lignes_2099 + 1
Case Else
Nb_Lignes_planif = Nb_Lignes_planif + 1
End Select

Répondre à JMBR
Collection CommentÇaMarche.net