[VB sous ACCESS]Pb de date

Résolu/Fermé
NINI - 23 mai 2005 à 16:54
 klephte - 26 déc. 2007 à 09:51
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 vendredi 28 mai 2004 Statut Membre Dernière intervention 10 janvier 2008 214
23 mai 2005 à 20:16
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 jeudi 17 juin 2004 Statut Membre Dernière intervention 20 juillet 2011 7
3 janv. 2006 à 17:53
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
Bonjour,

As-tu vérifié les références dans visual Basic?
0
mobile75 Messages postés 69 Date d'inscription lundi 3 novembre 2003 Statut Membre Dernière intervention 23 septembre 2008 17
23 mai 2005 à 17:25
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
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
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 26550 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 27 décembre 2024 3 319
17 oct. 2007 à 13:14
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
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