Utilisation du type de données date et heure étendues

Le type de données Date/heure étendue stocke les informations de date et d’heure et est semblable au type de données Date/heure, mais il fournit une plage de dates plus importante, une précision de fraction supérieure et une compatibilité avec le type de date datetime2 SQL Server. Lorsque vous importez ou liez des données Access vers SQL Server, vous pouvez mapper de façon cohérente un champ Date/heure étendue Access vers une colonne datetime2 SQL Server. Si vous souhaitez obtenir plus d'informations, voir datetime2 (Transact SQL).

Plage étendue DateHeure

Avertissement    Lorsque vous créez des expressions et utilisez des fonctions date/heure basées sur le type de données Date/heure étendue dans Access, vous pouvez perdre en précision dans les calculs ou rencontrer d’autres problèmes avec les résultats. Nous sommes conscients de ce problème et nous prévoyons de mieux prendre en charge les expressions et fonctions dans une prochaine publication. Pour contourner ce problème, vous pouvez Créer un requête SQL directe pour utiliser l’expression SQL Server équivalente et les fonctions date/heure. Si vous souhaitez avoir plus d’informations à ce sujet, consultez Comparaison d’Access SQL avec SQL Server TSQL.

Contenu de cet article

Comparaison entre les types de données Date/heure étendue et date/heure

Utilisation du type de données Date/heure étendue

Considérations relatives à la compatibilité descendante

Utilisation du type de données Date/heure étendue en tant que chaîne dans VBA

Comparaison entre les types de données Date/heure étendue et date/heure

Les tableaux suivants récapitulent les différences importantes entre les deux types de données.

Attribut

Date/Heure

Date/heure étendue

Valeur minimale

100-01-01 00:00:00

0001-01-01 00:00:00

Valeur maximale

9999-12-31 23:59:59.999

9999-12-31 23:59:59.9999999

Précision

0,001 secondes

1 nanoseconde

Taille

Virgule flottante à double précision

Chaîne codée de 42 octets

Haut de la page

Utilisation du type de données Date/heure étendue

Les informations suivantes décrivent d’importantes considérations relatives à l’utilisation.

Mode Création de table    Pour tirer parti d’une plage de données plus grande et plus précise, vous pouvez ajouter un champ à une table Access. Vous pouvez également convertir une date/heure en type de donnéesDate/heure étendue en Mode Création de table. L’utilisation de ce type de données en tant que champ de clé primaire est également prise en charge. Si vous voulez obtenir plus d’informations, voir Créer une table et ajouter des champs.

Saisir la date et l’heure   La saisie des valeurs date et heure est similaire au type de données date/heure, sauf que vous pouvez également entrer une nanoseconde fractionnaire. Par exemple :

  • Format d’entrée : jj/mm/aaaa hh : mm : SS. nnnnnnn

  • Exemple : 06/15/1215 09:25:3.234

S’il existe plus de 7 nanosecondes fractionnaires, celles-ci sont arrondies à 7 chiffres. Pour contrôler l’affichage des nanosecondes fractionnaires, ouvrez la table, dans le ruban, sélectionnez Champs, puis dans le groupe Mise en forme, sélectionnez Augmenter les décimales Button image ou Réduire les décimales Image du bouton .

Mise en forme    Les types de données date/heure et date/heure et Date/heure étendue utilisent des chaînes de mise en forme standard similaires pour Date générale, Date longue, Date médium, Date courte, Temps long, Temps médiumet Temps court qui prennent en charge la mise en forme personnalisée. Pour le type de données Date/heure étendue, les formats standard basés sur l’heure prennent également en charge une précision fractionnaire pour les nanosecondes. La mise en forme du type de données Date/heure étendue est par défaut au format Date générale et Temps long et suit les options spécifiées dans la Paramètres régionaux Windows. Vous pouvez également contrôler la mise en forme de la précision fractionnaire en utilisant la propriété Nombre de décimales pour spécifier le nombre de chiffres à droite de la décimale (1-7).

Liaison et importation     Vous pouvez également créer un lien vers des bases de données ou effectuer une importation à partir de bases de données avec un type de données correspondant, tel que le type de données datetime2 SQL Server. Les bases de données SQL Server version 2014 ou ultérieures sont prises en charge. Le type de données Date/heure étendue nécessite l’utilisation du pilote Microsoft ODBC pour SQL Server 11 ou version ultérieure. Nous vous recommandons d’utiliser le pilote Microsoft ODBC 13.1 pour SQL Server. L’utilisation d’OLE DB est également prise en charge. Si vous souhaitez obtenir plus d’informations, voir Prise en charge du type de données pour les améliorations de date et d’heure ODBC et Utiliser les fonctionnalités améliorées de date et d’heure (OLE DB).

Formulaires et rapports     Vous pouvez ajouter le type de données Date/heure étendue à un formulaire ou un rapport. Dans un formulaire, vous pouvez utiliser le sélecteur de dates et le masque de saisie pour entrer une date avec une plage plus importante, mais pas la précision fractionnaire pour les nanosecondes.

Prise en charge des expressions   Le type de données Date/heure étendue prend en charge les Fonctions d’agrégation SQL et l’évaluation des expressions. Par exemple, l’utilisation de LoggedDateTime en tant que champ avec le type de données Date/heure étendue :

Tâche

Exemple

Résultat

Trouver la valeur minimale

Min(LoggedDateTime)

Date et heure la plus ancienne dans la plage

Extraire le mois

Month(LoggedDateTime)

Nom du mois (par exemple, janvier)

Ajouter un jour

[LoggedDateTime]+1

Mardi devient mercredi

Haut de la page

Considérations relatives à la compatibilité descendante

Le type de données de date/heure Extended n’est pas compatible avec les versions sans abonnement de Microsoft Access. Par conséquent, si le type de données est implémenté dans une table Access locale et si la base de données Access est utilisée avec une version sans abonnement d’Access, vous ne pouvez pas ouvrir la base de données.

Vous pouvez activer ou désactiver le type de données de date/heure Extended pour les opérations de liaison et d’importation avec l’option d’accès à la base de données actuelleprise en charge du type de données intervalle de temps pour les tables liées/lmported. Pour plus d’informations, voir Définir les options utilisateur de la base de données active.

Haut de la page

Utilisation du type de données Date/heure étendue en tant que chaîne dans VBA

Les exemples VBA suivants utilisent des méthodes DAO pour afficher, entrer et évaluer le type de données Date/heure étendue sur la base du tableau ci-dessous.

ID

DTEData

DTData

1

01/01/2 1:01:03.1234567 AM

01/01/2001

Nom de table :    DTETable
Type de données ID :    NuméroAuto
Type de données DTEData :    Date/heure étendue
Type de données DTData :    Date/Heure

Exemple : Saisir la date et l’heure

L’exemple suivant affiche la date et l’heure. Le format utilisé est jj/mm/aaaa hh:mm:ss.nnnnnnn dans une horloge de 24 heures. Le format n’est pas personnalisable.

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
Do Until rs.EOF
    Debug.Print rs!DTETable
    rs.MoveNext
Loop

Résultat    Access affiche : 01/01/0002 01:01:03.1234567.

Exemple : Saisir la date et l’heure

L’exemple suivant entre la date et l’heure dans un format de chaîne. Tous les formats de date et d’heure standard sont pris en charge.

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("DTETable")
With CurrentDb.OpenRecordset("DTETable")
    .AddNew
    ![DTEData] = "1/1/9999 1:1:1.0123 AM"
    ![DTData] = #1/1/2001#
    .Update
End With

Résultat    Access ajoute une nouvelle ligne (ID = 2) :

ID

DTEData

DTData

1

01/01/2 1:01:03.1234567 AM

01/01/2001

2

01/01/9999 1:01:01.0123000 AM

01/01/2001

Exemple : Évaluation d’une expression de requête

L’exemple suivant utilise la Fonction jour pour extraire le numéro du jour à partir des champs date et heure.

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT Day(DTEData) as day FROM DTETable")
Do Until rs.EOF
    Debug.Print "The day of the month is: "&rs!day
    rs.MoveNext
Loop

Résultat    Access affiche :

Le jour du mois est le suivant : 1
Le jour du mois est le suivant : 1

Haut de la page

Voir aussi

Présentation des types de données et des propriétés de champ

Mettre en forme un champ de date et d’heure

Créer ou supprimer un champ de date et d’heure

Besoin d’aide ?

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×