MSHFlexGrid et les dates!!!!

cs_jim Messages postés 9 Date d'inscription mardi 10 octobre 2000 Statut Membre Dernière intervention 21 janvier 2002 - 4 janv. 2002 à 09:49
Gemini137 Messages postés 1 Date d'inscription mercredi 10 août 2005 Statut Membre Dernière intervention 30 août 2005 - 30 août 2005 à 22:47
:question)
Bonjour,

Dans une MSHflexGrid liée à une table Access (contenant un champ au format "Date") par une commande Ado, les dates sont formatées en MM/JJ/AA quel qu'en soit le format dans la base de donnée.
Y-a-t'il moyen d'y remédier?

Merci d'avance pour votre aide!!

JM

4 réponses

Utilisateur anonyme
13 févr. 2003 à 10:53
il y a en effet moyen d'y remédier, grâce à la propriété "TextMatrix" du controle mshflexgrid :

si on veut par exemple formater en date française les colonnes 4 à 6 :

    For i = 1 To mshflexgrid1.Rows - 1
        For j = 4 To 6
            mshflexgrid1.TextMatrix(i, j) = Format(mshflexgrid1.TextMatrix(i, j), "mm/dd/yy")
        Next
    Next


Voualà
0
arnoneil Messages postés 1 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 16 février 2004
16 févr. 2004 à 15:55
merci beaucoup, en cherchant un autre pb j'ai trouvé ta réponse pour celui si qui me géné pas mal!
0
peferova Messages postés 3 Date d'inscription dimanche 17 octobre 2004 Statut Membre Dernière intervention 17 octobre 2004
17 oct. 2004 à 11:01
Moi, quand je le fait j'ai un problème capricieux.
Et bien la liste original sur la base de données:
10/10/04
11/10/04
13/10/04
14/10/04
Sans format, j'ai (c-a-d: mm/jj/aaaa)
10/10/2004
10/11/2004
10/13/2004
10/14/2004
Avec format, j'ai (c-a-d: normalement jj/mm/aaaa, mais ...)
10/10/2004
10/11/2004 (Voici le problème: reste inchangée)
13/10/2004
14/10/2004

C'est à dire: quelques dates sont bien formatées, d'autres pas. Incomprehensible. Une idée??
Merci.
0
Gemini137 Messages postés 1 Date d'inscription mercredi 10 août 2005 Statut Membre Dernière intervention 30 août 2005
30 août 2005 à 22:47
oui j'ai le meme probleme, des en fait quand VB voit 10/13/2004, il n'y
a pas d'ambiguité car 13 ne peut etre que le jour, par contre dans
10/11/2004, il prend 10 pour le jour. Donc je met ce petit code qui
corrige la date, puis apres avec un format je la met comme je veux

Dim myDate as Date



myDate = flex1.TextMatrix(i, 0)



If Day(myDate) <= 12 Then

myDate = CDate(Month(myDate) & "/" & Day(myDate) & "/" & Year(myDate))

End If



flex1.TextMatrix(i, 0) = Format(myDate, "ddd dd mmmm yyyy")



Voila, c'est pas tres propre mais je n'ai trouvé aucune autre
solution... Je trouve beaucoup plus pratique le timestamp d'unix que
j'utilise en PHP ! Il ne peux pas y avoir d'ambiguité au moins



Yann.
0
Rejoignez-nous