IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

BUG OF THE WEEK MSHflesGrid


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut BUG OF THE WEEK MSHflesGrid
    bonjour tout le monde
    Je ne sais pas si c'est le cas pour vous mes moi mon mshflexgrid il va pas bien du tout...
    quand je lui donne un ADODB.RecordSet comme source de donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set mshflexgrid1.datasource= rs
    et que le dit recordset contient des dates celles ci s'affichent bizarement :les jours à la place des mois et vice verça
    exemple:
    avec la date 15/05/2006 le resultat affiché sera 05/15/2006
    vous conviendrez que c'est bien embêtant...
    quelqu'una t'il deja eu ce prob?
    je trouve bizzard que personne n'en ai parlé
    quelle est la parade? sachant que
    -j'ai deja essayé de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    day(mshflexgrid1.textmatrix(i,j)) & "/" & month(mshflexgrid1.textmatrix(i,j)) "/" year(mshflexgrid1.textmatrix(i,j))
    certaines date sont corrigée mais pas toutes
    -je ne peux pas travailler avec un datagrid ou encore un msflexgrid
    merci pour toutes vos contributions

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Ben c'est le format de base américain, mm/dd/yyyy, c'est pas un bug, c'est un défi lol

  3. #3
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    je me suis dis ça au debut mais le format americain c'est pas plutot yyyy/mm/dd ???
    et si c'est un defi comme tu dis pk est-ce qu'en mettant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    day(mshflexgrid1.textmatrix(i,j)) & "/" & month(mshflexgrid1.textmatrix(i,j)) "/" year(mshflexgrid1.textmatrix(i,j))
    ça ne marche toujours pas?

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(CDate(mshflexgrid1.textmatrix(i, j)), "dd/mm/yyyy")
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    je viens d'essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(mshflexgrid1.textmatrix(i, j), "dd/mm/yyyy")
    j'ai l'impression que les dates qui ont un jour inferieur à 13 ne sont pas converties, vous pouvez verifier chez vous svp

    ProgElecT, à quoi sert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(CDate(mshflexgrid1.textmatrix(i, j)), "dd/mm/yyyy")

  6. #6
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Citation Envoyé par jadey
    ProgElecT, à quoi sert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(CDate(mshflexgrid1.textmatrix(i, j)), "dd/mm/yyyy")
    Essaye de faire la touche F1 sur les mots clefs que tu ne connais pas. je suis sur que l'aide en ligne en connait beaucoup plus que nous sur la question

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par jadey
    je me suis dis ça au debut mais le format americain c'est pas plutot yyyy/mm/dd ???
    Ca, c'est le format Japonais.

    Le plus logique pour les tris!
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  8. #8
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    hmm...toujours plaisant de recuperer de nouvelles infos, seulement ça ne repond pas à ma question

  9. #9
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par jadey
    hmm...toujours plaisant de recuperer de nouvelles infos, seulement ça ne repond pas à ma question
    Oui mais ProgElect a donné ce qui semble être la seule possibilité avec l'instruction Format.
    Donc consulter le MSDN sur cette fonction et les possibilités d'utilisation .
    En ligne voir dans la section VB98/Visual Studio 98

  10. #10
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Bonsoir
    la proposition de reponse à midi etait rapide et non verifiée, car il me semblait ne pas me poser de questions sur la manipulation de dates, par la suite je n'ai pas peu suivre avant ce soir.
    Faire des essais avec les exemples (verifiés)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Private Sub Form_Load()
    Dim MaDate As Date
    'MaDate = Date
    'ou
    'MaDate = CDate("05/30/2006")
    'Label1 = Format(CDate(MaDate), "dd/mm/yyyy")
    ' le resultat donne :  30/05/2006
    
    'MaDate = CDate("2006/05/30")
    'Label1 = Format(CDate(MaDate), "dd/mm/yyyy")
    ' le resultat donne :  30/05/2006
    
    'MaDate = CDate("30/2006/05")
    'Label1 = Format(CDate(MaDate), "dd/mm/yyyy")
    ' erreur d'éxécution '13' Type incompatible
    
    
    
    'MaDate = CDate("09/06/2006") 'aujourd'hui
    'Label1 = Format(CDate(MaDate), "mm/dd/yyyy")
    'le resultat donne :  06/09/2006
    
    MaDate = CDate("09/06/2006") 'aujourd'hui
    Label1 = Format(CDate(MaDate), "dd/mm/yyyy")
    'le resultat donne :  09/06/2006
    End Sub
    bien regarder la disposition des dd/mm/yyyy

    Ma configuration pour XP est
    Options régionales et linguistiques,
    date courte 06/09/2006 soit jour/mois/année

    Source MSDN
    Pour ce qui concerne le séparateur de date (/), d'heure ( : ) et le littéral AM/PM, la sortie formatée réellement affichée par votre système dépend des paramètres régionaux avec lesquels le code s'exécute. Lorsque les heures et les dates sont affichées dans l'environnement de développement, ce sont les formats heure et date raccourcis des paramètres régionaux qui sont utilisés. Lorsqu'ils s'affichent par exécution du code, les formats heure et date raccourcis utilisés sont ceux des paramètres système, qui peuvent différer des paramètres régionaux.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    priere de lire mon dernier post avant de repondre
    croyez bien que j'ai lu et relu tout ce que vous avez dis tous soit dans l'MSDN soit dans la FAQ, je suis de plus en plus persuadé que c bien un bug et de taille

  12. #12
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    priere de lire mon dernier post avant de repondre
    Il m'arrive de me perdre dans le fils de la discution, mais là j'avai bien lu.

    peu tu nous donner les exemples de dates non converties
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    je pense avoir compris pourquoi certaines sont converties et d'autre pas:
    le MSHFLEGRID affiche par defaut les dates sous le format américain: mm/dd/yyyy, quand je force l'affichage avec l'instruction:
    format(expression,"dd/mm/yyy") il ne convertie pas les dates qui devrait etre correcte sans conversion
    exemple:
    pour le 15/3/2003 le mshflexgrid affiche 3/15/2003 l'utilisation de la fonction format donne pour resultat 15/3/2003 (3/15/2003 n'est pas correcte sans conversion)
    par contre pour la date 2/6/2006 le msflexgrid affiche 6/2/2006 et quand on force le format normal via la fonction format la conversion ne se fait pas parceque 6/2/2006 est une date valide sous le format normal
    j'espere avoir été clair et si mon expliquation est correcte ça voudrait dire que c bel et bien un bug

  14. #14
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    une solution serait que mon application force (de maniere barbare j'en conviens) les parametres regionnaux en tout cas en ce qui concerne les dates, la question est comment faire? vous m'aideriez bcp en repondant a cette question

  15. #15
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Avec sa est ce que sa solutionnerait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Public Function ConverDate(LaDate As String)
    Dim T As Integer
    Dim Jr, Moi, Ann As String
    Dim NumSep As Integer
    NumSep = 0
     
    For T = 1 To Len(LaDate)
     If Mid$(LaDate, T, 1) <> "/" Then
      If NumSep = 0 Then Jr = Jr + Mid$(LaDate, T, 1)
      If NumSep = 1 Then Moi = Moi + Mid$(LaDate, T, 1)
      If NumSep = 2 Then Ann = Ann + Mid$(LaDate, T, 1)
      Else
      NumSep = NumSep + 1
     End If
    Next T
    If Len(Jr) = 1 Then Jr = "0" & Jr
    If Len(Moi) = 1 Then Moi = "0" & Moi
    ConverDate = Format(Jr & "/" & Moi & "/" & Ann, "mm/dd/yyyy")
    End Function
     
    Private Sub Command1_Click()
    Label1 = ""
    Label1 = ConverDate(Text1)
    End Sub
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  16. #16
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 32
    Par défaut
    Ayant deja rencontre ce probleme, je m'etais resolu a bidouiller mes dates a la main puisqu'effectivement quand le jour est inferieur a 13 le Format ne fonctionne pas. Bon courage

  17. #17
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    merci progelec mais je prefere ne pas avoir à "bidouiller" avec des algo
    y'a pas d'aut soluce les gars???

  18. #18
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Par défaut
    c'est bien un BUG y'a surememnt un moyen d'y remedier???!!!

  19. #19
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Je n'ai pas tout lu mais je suis persuadé que ce n'est pas un bug.

    Essaye d'entourer tes chaines de dates de caractères #.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  20. #20
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut une solution peut etre?
    Citation Envoyé par jadey
    c'est bien un BUG y'a surememnt un moyen d'y remedier???!!!
    oui effectivement le pb se pose uniquement avec mshflexgrid; ma solution a ce pb est que je modifie dans la requete select : je convertie la date en sting via la fonction STR(champs_date). J'espere etre claire voici un exple:

    Select Nom ,str(dateNais) as DateNais from Table1

    ok bon courage

Discussions similaires

  1. Guru of the Week 104
    Par gbdivers dans le forum C++
    Réponses: 15
    Dernier message: 25/04/2012, 15h27
  2. Perl Quiz of the week
    Par Jedai dans le forum Langage
    Réponses: 2
    Dernier message: 13/09/2005, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo