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

Access Discussion :

Gestion date format etranger


Sujet :

Access

  1. #1
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut Gestion date format etranger
    Bonjour,

    Dans certains pays, la date est de type 12.12.06 alors qu'en france on est sur 12/12/2006.

    J'ai fait une fonction sur toutes mes dates pour regler le pb:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function MaDate(ladate As Date) As Date
     
     
        MaDate = Format(ladate, "dd\/mm\/yy")
     
     
    End Function

    Mon souci est que dans une requete Sql sous VBA, il ne me trouve toujours pas resultat, alors que dans un systeme francais il men trouve.

    Voici la requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sSQL = "SELECT DateCherche FROM 2Echeance " & _
              "WHERE ((ProduitID = " & lProduit & ") AND (DerniereEcheance <= #" & MaDate(dDateTR) & "#) AND (ProchaineEcheance >= #" & MaDate(dDateTR) & "#)) ;"
    J'ai penser que mes Prochaine echeance etaient dans un mauvais format mais ca nest pas le cas.

    help!

  2. #2
    jnore
    Invité(e)
    Par défaut
    En vba la date est sous le format américain:

    Mois/jour/année

    Il va te falloir faire une fonction pour inverser le jour et le mois

  3. #3
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    j'ai lu ca, mais pour mon DerniereEcheance et ProchaineEcheance, il se mettent automatiquement en US?

    Parce que j'ai beau tout essayer, ca ne passe pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function MaDate(ladate As Date) As Date
     
    Dim temp As Date
        temp = Month(ladate) & "/" & Day(ladate) & "/" & Year(ladate)
        MaDate = temp
     
    End Function

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim temp As Date
        temp = Month(ladate) & "/" & Day(ladate) & "/" & Year(ladate)
        MaDate = Format(temp, "dd\/mm\/yyyy")
     
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function MaDate(ladate As Date) As Date
     
    Dim temp As Date
        temp = DateSerial(Year(ladate), Month(ladate), Day(ladate))
        MaDate = Format(temp, "dd\/mm\/yyyy")
     
    End Function

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function MaDate(ladate As Date) As Date
     
    Dim temp As Date
        temp = DateSerial(Year(ladate), Month(ladate), Day(ladate))
        MaDate = temp
     
    End Function

  4. #4
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    j'ajoute que quand je suis en format francais avec les / ca passe, pourtant il n'y as pas d'inversion avec le mois, alors qu'avec les points ca ne passe pas.

    La seule différence qui va faire que ca fonctionne ou pas, c'est les / ou les points.

    Donc je pense qu'il gere automatiquement les US.

  5. #5
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    en fait c'est pas une histoire de point ou de slash.

    C'est une histoire que les dates sont configurés sous windows avec des années yyyy et à l'étranger en yy.

  6. #6
    jnore
    Invité(e)
    Par défaut
    Ecris dasn un module cette fonction:


    Function DATEUS(ByVal dt As Variant)
    If IsNull(dt) Then Exit Function
    DATEUS = "#" & Month(dt) & "/" & Day(dt) & "/" & Year(dt) & "#"
    End Function


    A chaque fois que tu voudras utiliser une date en french dans vba tu lui applique cette fct.
    Ex: si tu te sert d'une date pour un tri tu taperas en vba:

    select....from...where date=dateus([champ d'un formulaire])

  7. #7
    Membre régulier Avatar de hugo69
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    512
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 512
    Points : 122
    Points
    122
    Par défaut
    j'ai tjs le meme pb.

    Je l'utilise de la meme facon sauf que jai virer les # que j'ai deja dans mes reqeutes

Discussions similaires

  1. gestion de format de date avec QDateTime::fromString()
    Par med.doc dans le forum Débuter
    Réponses: 2
    Dernier message: 10/12/2013, 17h53
  2. conversion string en date gestion du format date US/FR
    Par blacklolou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/06/2012, 11h19
  3. [AC-2007] Gestion du format de la date
    Par kimai81 dans le forum Modélisation
    Réponses: 5
    Dernier message: 07/01/2010, 17h04
  4. Réponses: 4
    Dernier message: 09/02/2009, 14h53
  5. Gestion du format des dates
    Par Rakken dans le forum Oracle
    Réponses: 4
    Dernier message: 30/11/2006, 11h20

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