Liste des thèmes » Déployer la liste des thèmes

Certaines de mes requêtes (exécutées notamment en Visual Basic ou en pur SQL) donnent des résultats curieux lorsqu'elles sont basées sur des dates. Access ne comprendrait-il pas les dates françaises ?


Lorsque vous manipulez des dates dans Access, celles-ci s'écrivent différemment selon que vous travaillez via l'interface graphique ou par programmation.

  • Dans l'interface graphique d'Access, les dates respectent les réglages de votre machine (donc de votre pays). Une date française s'écrira 15/07/2002 (ce qu'Access transformera en #15/07/2002#).
  • Dès que vous programmez Access (VB ou SQL), vous passez en "mode anglo-saxon" : mm/jj/aaaa au lieu de jj/mm/aaaa. La même date devient donc #07/15/2002#.

Une solution pratique et définitive consiste à écrire une fonction de conversion en Visual Basic, et à l'appeler dès que vous en avez besoin. Pour écrire cette fonction :

  1. Cliquez sur l'onglet Modules de la base de données.
  2. Cliquez ensuite sur le bouton Nouveau.
  3. Tapez le code suivant dans le module :
Function DateUS(ByVal dt As Variant)
If IsNull(dt) Then Exit Function
DateUS = "#" & Month(dt) & "/" & Day(dt) & "/" & Year(dt) & "#"
End Function
  1. Enregistrez le module en le nommant par exemple mod Dates.

Lorsque vous souhaiterez convertir une date française en date anglo-saxonne, vous remplacerez votre champ [Date française] par DateUS([Date française]).
Vous trouverez un exemple sur la fiche Cumul.

Variante :
Sur le même principe, il peut être utile de tenir compte de la date et de l'heure. Utilisez dans ce cas la fonction suivante :

Function DateHeureUS(ByVal dt As Variant)
If IsNull(dt) Then Exit Function
DateHeureUS = "#" & Month(dt) & "/" & Day(dt) & "/" & Year(dt) _
& " " & Format(dt, "hh:nn:ss") & "#"
End Function
Cette section vous intéresse ? Abonnez-vous ! Hit-Parade  

 

 
Notions de base
Jargon Access :o)
Syntaxe SQL
Programmation ASP
Scripting Runtime

Le Grenier [FAQ Access]
Les tutoriaux Self-Access
Les Assistants Access

Les livres sur Access !

Cliquez sur un ouvrage
pour plus de détails

 
 
Forums Access
Abonnement gratuit
Télécharger...
 
 
Le saviez-vous ?
Access est aussi pratique que Word pour imprimer des étiquettes. Une planche d'étiquettes est en fait un état.

A demain pour une nouvelle astuce !