Rechercher : dans
Par :

[VB sous ACCESS]Pb de date

Dernière réponse le 26 déc 2007 à 09:51:41 NINI, le 23 mai 2005 à 16:54:47 
 Signaler ce message aux modérateurs

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

1

mobile75, le 23 mai 2005 à 17:25:37

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 A+
Essayer.........des fois ça marche............

Répondre à mobile75

2

Kobaya, le 23 mai 2005 à 20:16:19

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'.

A+,
Kobaya.

Répondre à Kobaya

3

biloue, le 3 jan 2006 à 17:53:07

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

Répondre à biloue

4

Mr Leuleu, le 15 jan 2006 à 15:01:42

Bonjour,

As-tu vérifié les références dans visual Basic?

Répondre à Mr Leuleu

5

FreBev, le 17 oct 2007 à 12:50:42

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.

Répondre à FreBev

6

FreBev, le 17 oct 2007 à 12:52:18

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

Répondre à FreBev

7

blux, le 17 oct 2007 à 13:14:46

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...
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

8

 klephte, le 26 déc 2007 à 09:51:41

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 ....

Répondre à klephte