[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
A voir également:

7 réponses

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
biloue Messages postés 82 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
Mr Leuleu
 
Bonjour,

As-tu vérifié les références dans visual Basic?
0
mobile75 Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
blux Messages postés 27117 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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
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