Comparer deux date sous un format un peu spécial

lebossbxl Messages postés 10 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 27 mai 2007 - 26 mai 2007 à 22:24
med_00 Messages postés 2 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 27 mai 2007 - 27 mai 2007 à 19:43
Bonjour à toutes et à tous,

J'ai un petit blocage dans mon développement, je voudrais pouvoir comparer si deux dates sont équales ou une inférieur ou supérieure à l'autre. Dans ma base de données j'ai champ date en string qui sous forme moisAnnée '0207'. Je voudrais comparer ce champ à une sélections dans le DateTimePicker que je met sous la meme forme. Mais la fonction suivante ne marche pas :

        DateTimePicker1.Format = DateTimePickerFormat.Custom
        DateTimePicker1.CustomFormat = "MMyy"
        DateFormat = DateTimePicker1.Text
 If Date.Compare(DateFormat, oDataTable.Rows(i).Item("date")) = 0 Then
                MsgBox("meme date")
            End If

Pourriez-vous m'eclairer d'avantage ?

Merci d'avance pour votre aide et vos propositions !!!

8 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
26 mai 2007 à 22:54
Salut,

Si c'est pour faire une comparaison de date, pourquoi ne pas transformer ta date en string de ta base dans un format date : MMYYY ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
lebossbxl Messages postés 10 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 27 mai 2007
26 mai 2007 à 23:01
Re,

Parce que la base de donnée ne me permet pas tous les format possible !!!

n'y a t il pas un moyen de récuperer la string de la base et de la transformer en date en lui appossant ce format la et qui puissse me permettre de faire cette comparaison svp ?

Merci à toi.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
26 mai 2007 à 23:08
Salut,

Je ne sais ce que cela vaut, mais regarde ce petit bout de code :

    Dim MyDateTable As String
    Dim MyDate As String
        
    MyDateTable = "01/07"
    MyDate = "03/07"
        
    If MyDateTable > MyDate Then MsgBox "La date de la base est supérieur !"
    If MyDateTable < MyDate Then MsgBox "La date de la base est inférieur !"
    If MyDateTable = MyDate Then MsgBox "La date de la base est égale !"

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 mai 2007 à 23:42
Su tu veux comparer sur uniquement le mois et l'année, 2 possibilités :


1) soit tu mets l'année suivie du mois pour les 2 valeurs et tu compares alors la valeur des chaines
ex :
"03/07"  ===>>"0703"
et "01/08"  ===>> "0801"
et "0801" est bien plus grand que "0703" (alors que "01/08" est plus petit que "03/07"

2) soit tu rajoutes "01/" aux 2 chaines et tu compares les deux dates
ex
"03/07" === "01/03/07"
et  "01/08" ==>> "01/01/08"


pour illustrer la 2ème méthode :

Private Sub Command1_Click()
  toto = "01/08"
  titi = "03/07"
  toto = "01/" & toto
  titi = "01" & titi
  MsgBox IIf(DateValue(toto) >= DateValue(titi), "toto >= titi", "toto< titi")
End Sub
0

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

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 mai 2007 à 23:43
corrige :
 titi = "01/" & titi
0
lebossbxl Messages postés 10 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 27 mai 2007
27 mai 2007 à 00:13
je te remercie pour ta réponse, je vais faire un check demain dans mon programme et voir si ca rentre dans les tests que je dois faire !!!!

Grand merci pour votre aide

Bonne soirée et bonne nuit !!!
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 mai 2007 à 09:48
Si ce n'est pas toi qui a décidé du format MMAA avec le millésime sur 2 chiffres uniquement, rappelle au passage à celui qui t'impose un tel format que c'était précisément ce genre de données qui préoccupait en ce qui concerne le bug 2K !!
Qui va, avec un tel format, savoir si 10 est 2010, 1910, 2110, etc ???
Les juliennes (tronquées ou non), par ailleurs , sont maintenant au format AAAAMMJJ (sans séparateujr). Dans ton cas, (julienne tronquée) ce devrait maintenant être AAAAMM pour éviter des problèmes (et non AAMM)
Quant à MMAA : c'est doublement maladroit ...
0
med_00 Messages postés 2 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 27 mai 2007
27 mai 2007 à 19:43
merci bcp
0
Rejoignez-nous