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 !!!
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 ?
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 !"
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
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 ...