[VB sous ACCESS]Pb de date

Résolu
NINI -  
 klephte -
Bonjour,

J'ai un souci avec les dates qui sont prises dans l'ordre mois-jour-année sous Access et donc j'aimerais savoir s'il existe une fonction qui permettrait de transformer la date du format MM-DD-YYYY au format DD-MM-YYYY ou s'il faut le faire 'à la main' directement.

Merci

7 réponses

  1. Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
     
    salut,

    Sous ACCESS, la date est toujours stockée au format anglais (mmddyyyy).
    utilise la formule VBA Format(maDate, "dd/mm/yyyy"), ou la formule de feuille =TEXTE(C2 ; "dd/mm/yyyy") ) pour afficher la date au format qui te convient.
    Le deuxième argument peut prendre, entre autres, ces valeurs :
    dddd dd/mm/yyyy lundi 23/05/2005
    ddd d/mm lun 1/05
    yyyymmdd 20050523
    etc... regarde dans l'aide pour voir toutes les possibilités.
    suivant la version Excel dont tu disposes, il faudra peut-être remplacer 'y' par 'a' et 'd' par 'j'.

    1
  2. biloue Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   7
     
    Bonjour
    J'utilise actuellement la fonction format sous access. pour convertir le format d'une date.
    Du jour au lendemain sans aucune manipulation apparente de ma part, j'ai un message d'erreur indiquant que la fonction format n'existe pas et donc je n'ai plus de conversion.
    J'ai essayer de réinstaller access et de réparer mais rien n'y fait la fonction à disparue.
    Est ce que quelqu'un aurais une idée pour la réactiver.
    Merci d'avance

    Biloue
    1
    1. Mr Leuleu
       
      Bonjour,

      As-tu vérifié les références dans visual Basic?
      0
  3. mobile75 Messages postés 70 Date d'inscription   Statut Membre 17
     
    bonjour,
    essayes avec la fonction format
    expr1: format([madate];"dd-mm-yyyy")
    au besoin va voir sur l'aide d'access ou bien une recherche sur ce site , je crois que la question a souvent ete posee
    0
  4. FreBev
     
    Bonjour,

    Dans VBA access, j'ai un "petit" soucis avec les dates...
    J'ai l'impression qu'Acces se mélange les pinceaux : par exemple si je demande l'écriture de ces dates
    format(#17/10/2007#, "dd mmmm yy") j'obtiens 17 oct 07
    par contre
    format(#07/10/2007#, "dd mmmm yy") donne 10 juil 07...

    Comprend qui peut...

    Cordialement.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. FreBev
     
    Bonjour,

    Dans VBA access, j'ai un "petit" soucis avec les dates...
    J'ai l'impression qu'Acces se mélange les pinceaux : par exemple si je demande l'écriture de ces dates
    format(#17/10/2007#, "dd mmmm yy") j'obtiens 17 oct 07
    par contre
    format(#07/10/2007#, "dd mmmm yy") donne 10 juil 07...

    Comprends qui peut...

    Cordialement
    Fred
    0
  7. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    ACCESS essaye de trouver une date valide car tu l'as mise entre dièses, donc il essaye en format british en premier puis sinon en europeen et ensuite en asiatique...

    Essaye en mettant ta date entre guillemets : format("07/10/2007", "dd mmmm yy"), ça devrait le faire...
    0
  8. klephte
     
    Bonjour,

    J'ai moi aussi besoin régulierement d'envoyer des requêtes vers une base ACCESS ou SQL, voici la petite fonction qui me fait la transposition d'un variant de type date en une chaîne de caractères :

    Function AccessFormatDateTime(CurrentDate)
    if(FALSE) then
    AccessFormatDateTime = "CONVERT(DATETIME, '"& Year(CurrentDate)&"-"
    AccessFormatDateTime = AccessFormatDateTime & Month(CurrentDate)&"-"
    AccessFormatDateTime = AccessFormatDateTime & Day(CurrentDate)&" "
    AccessFormatDateTime = AccessFormatDateTime & Hour(CurrentDate)&":"
    AccessFormatDateTime = AccessFormatDateTime &"00:00', 120)"
    end if

    AccessFormatDateTime = "{ ts '"&Year(CurrentDate)&"-"
    AccessFormatDateTime = AccessFormatDateTime & right("0"&Month(CurrentDate),2) &"-"
    AccessFormatDateTime = AccessFormatDateTime & right("0"&Day(CurrentDate),2) &" "
    AccessFormatDateTime = AccessFormatDateTime & right("0"&Hour(CurrentDate),2) &":"
    AccessFormatDateTime = AccessFormatDateTime & right("0"&Minute(CurrentDate),2) &":"
    AccessFormatDateTime = AccessFormatDateTime & right("0"&Second(CurrentDate),2) &"'}"

    End Function

    et un exemple d'utilisation:
    dstart=dateadd("d",-60,date())
    strSQL = "DELETE FROM historique where date_insertion<="&AccessFormatDateTime(dstart)

    May be it could help ....
    0