1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Questions générale
Sujet n° 406 |
Access aux USA |
le 30/09/2010 : 20:31 par JYMGO
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 |
|
|
Réponse n° 1 -------- le 01/10/2010 : 04:22 par 3Stone
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) |
|
|
Réponse n° 2 -------- le 01/10/2010 : 07:52 par JYMGO
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 |
|
|
Réponse n° 3 -------- le 02/10/2010 : 03:19 par 3Stone
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 Cordialement, Pierre(3stone) |
|
|
Réponse n° 4 -------- le 03/10/2010 : 23:00 par jymgo
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 |
|
|
Réponse n° 5 -------- le 04/10/2010 : 16:58 par 3Stone
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) |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|