Forum - Questions générale - Sujet n°406

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par 3Stone le 17/11/2010 : 15:11  Sujet n° 406  Access aux USA

le 30/09/2010 : 20:31
par JYMGO

Anonyme

visiteur

Bonsoir Pierre.
J'ai créé une BDD en Access 2007 pour un ami parti aux USA. Les résultats à afficher dépendent d'une borne de date (min et max). De ce coté de l'Atlantique tout fonctionne correctement, mais de l'autre coté de l'océan, le système retourne un message d'erreur relatif aux dates. C'est vrai que les américains inscrivent leurs dates différemment  mm/jj/aa. Le dysfonctionnement peut il venir de cette différence ? et si oui, comment y remédier selon toi. Merci encore pour ta réponse. Cordialement. Jymgo
 sujet clos  Haut

[]   

Réponse n° 1
--------
le 01/10/2010 : 04:22
par 3Stone

Anonyme

Administrateur

Bonjour,

Je présume que c'est au niveau du VBA ou le SQL que cela coince ?...

En fait, dans le VBA et le SQL, et cela quelque soit le pays ou la base doit tourner, il faut toujours présenter les dates au format US.

Pour faciliter cela, on peut utiliser une fonction comme celle-ci pour se simplifier la manipulation.

Cordialement,
Pierre(3stone)
  clos par 3Stone le 17/11/2010 : 15:11  Haut
Réponse n° 2
--------
le 01/10/2010 : 07:52
par JYMGO

Anonyme

visiteur
Bonjour Pierre
Merci pour ta réponse. OK pour le code...mais je dois l'insérer à chaque fois que j'ai une date dans un formulaire ou simplement dans mon menu qui permet de sélectionner une période ?
Merci pour ton aide. Cordialement. Jymgo
  clos par 3Stone le 17/11/2010 : 15:11  Haut
Réponse n° 3
--------
le 02/10/2010 : 03:19
par 3Stone

Anonyme

Administrateur

Bonjour,

En fait, si tu compares deux champs, [champ1] = [champ2], tout ira bien car Access utilisera le même format pour les deux.

Par contre, si dans une requête tu fait référence à la date se trouvant dans une liste déroulante ou dans une zone de texte... Access demandera à ce que tu lui présente cette date au format US.

Donc, comme critère dans la requête, tu écriras par exemple :

 
Code :
>= DateUS([ChampDate])
 ou
Code :
Between DateUS([DateMin]) AND DateUS([DateMax])
 
Même procédure lorsque tu traites cela dans un module VBA.
Bien sûr, on peut également utiliser la fonction de formatage à la place de la fonction dédiée, mais c'est bien moins pratique wink
 
Cordialement,
Pierre(3stone)
  clos par 3Stone le 17/11/2010 : 15:11  Haut
Réponse n° 4
--------
le 03/10/2010 : 23:00
par jymgo

Anonyme

visiteur
Bonsoir Pierre
J'ai essayé la seconde hypothèse dans une des requêtes et le système me retourne que la fonction DateUs n'est pas reconnue.
Voici la syntaxe utilisée :
Entre DateUS([formulaires].[editions].[datemin]) Et DateUS([formulaires].[editions].[datemax])
Est il normal que rien ne fonctionne sur mon PC français ?
Merci encore pour ton aide
Cordialement JYMGO
  clos par 3Stone le 17/11/2010 : 15:11  Haut
Réponse n° 5
--------
le 04/10/2010 : 16:58
par 3Stone

Anonyme

Administrateur

Bonjour,

Où as tu placé la fonction ?
Elle devrait se trouver dans un module général...


 
Code :
Entre DateUS([formulaires].[editions].[datemin]) Et DateUS([formulaires].[editions].[datemax])
 
Ecris plutôt (même si Access retraduit des parties par lui-même) :
 
Code :
Between DateUS(Forms!editions!datemin) And (Forms!editions!datemax)

 Note, les crochets ne sont nécessaires que lorsque l'on utilise des caractères accentués, des espaces ou des noms trop long... autant éviter de devoir les utiliser.

Cordialement,
Pierre(3stone)
  clos par 3Stone le 17/11/2010 : 15:11  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut