Applies ToAccess voor Microsoft 365 Access 2024 Access 2021

Het uitgebreide gegevenstype datum/tijd bevat datum- en tijdgegevens en is vergelijkbaar met het gegevenstype datum/tijd, maar bevat een groter datumbereik, meer decimale nauwkeurigheid en compatibiliteit met het datetim2-datumtype van de SQL Server. Wanneer u Access-gegevens importeert of koppelt aan SQL Server, kunt u een uitgebreid datum/tijd-veld van Access consequent toewijzen aan een datetime2-kolom in de SQL Server. Zie voor meer informatie datetime2 (Transact-SQL).

Datum en tijd verlengd-bereik

Waarschuwing    Wanneer u expressies maakt en datum/tijdfuncties gebruikt op basis van het uitgebreide datum/tijd-gegevenstype in Access, kan het zijn dat dit afdoet aan de precisie van berekeningen of leidt tot andere problemen met de resultaten. We zijn op de hoogte van dit probleem en zijn van plan expressies en functies beter te ondersteunen in een volgende release. Als tijdelijke oplossing kunt u Een pass through-query maken om de overeenkomstige SQL Server-expressie en -datum/tijdfuncties te gebruiken. Zie voor meer informatie Access SQL vergelijken met SQL Server TSQL.

In dit artikel

Datum/tijd-gegevenstype vergelijken met het uitgebreide datum/tijd-gegevenstype

Het uitgebreide datum/tijd-gegevenstype gebruiken

Overwegingen voor achterwaartse compatibiliteit

Het uitgebreide datum/tijd-gegevenstype gebruiken als een reeks in VBA

Datum/tijd-gegevenstype vergelijken met het uitgebreide datum/tijd-gegevenstype

In de volgende tabellen vindt u een overzicht van belangrijke verschillen tussen de twee gegevenstypen.

Eigenschap

Datum/tijd

Uitgebreide datum/tijd

Minimale waarde

100-01-01 00:00:00

0001-01-01 00:00:00

Maximale waarde

9999-12-31 23:59:59.999

9999-12-31 23:59:59.9999999

Nauwkeurigheid

0,001 seconden

1 nanoseconde

Grootte

Drijvende komma met dubbele precisie

Gecodeerde reeks van 42 bytes

Naar boven

Het uitgebreide datum/tijd-gegevenstype gebruiken

De volgende informatie beschrijft belangrijke gebruiksoverwegingen.

Weergave tabelontwerp    Als u optimaal gebruik wilt maken van het grotere gegevensbereik en de hogere precisie, kunt u een veld toevoegen aan een Access-tabel. U kunt een datum/tijd-gegevenstype ook omzetten naar een uitgebreid datum/tijd-gegevenstype in de Tabelontwerp-weergave. Het gebruik van dit gegevenstype als primaire veld wordt ook ondersteund. Zie voor meer informatie Een tabel maken en velden toevoegen.

De datum en tijd invoeren   Het invoeren van datum- en tijdwaarden is vergelijkbaar met het datum/tijd-gegevenstype, met uitzondering van het feit dat u ook een gedeeltelijke nanoseconde kunt invoeren. Bijvoorbeeld:

  • Invoerindeling: mm/dd/jjj uu:mm:ss.nnnnnnn

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

Als er meer dan 7 gedeeltelijke nanoseconden zijn, worden deze afgerond op 7 cijfers. Als u de weergave van de gedeeltelijke nanoseconden wilt beheren, opent u de Tabel, selecteert u op het lint Velden en selecteert u in de groep Opmaak, Meer decimalen Knopvlak of Minder decimalen Bijschrift 4.

Opmaak    Zowel in het datum/tijd-gegevenstype als het uitgebreide datum/tijd-gegevenstype wordt de standaardnotatie van Algemene datum, Lange datum, Middellange datum, Korte datum, Lange tijd, Middellange tijd en Korte tijd gebruikt en beide ondersteunen een aangepaste indeling. Voor het datum/tijd-gegevenstype ondersteunt de op tijd gebaseerde standaardnotatie ook nauwkeurige weergave van nanoseconden. De standaardindeling voor het uitgebreide datum/tijd-gegevenstype is Algemene datum en Lange tijd en volgt de opties die zijn gespecificeerd in de Regionale instellingen van Windows. U kunt ook de opmaak van de decimalen bepalen door de eigenschap Plaatsen van decimalen te gebruiken om het aantal cijfers rechts van de decimale komma op te geven (1-7).

Koppelen en importeren     U kunt ook een koppeling gebruiken naar of importeren uit databases met een bijbehorend gegevenstype, zoals het gegevenstype datetime2 van SQL Server. Databases van SQL Server versie 2014 of hoger worden ondersteund. Voor het uitgebreide datum/tijd-gegevenstype is het gebruik van het Microsoft ODBC-stuurprogramma voor SQL Server 11 of hoger vereist. U wordt aangeraden Microsoft ODBC-stuurprogramma 13.1 voor SQL Server te gebruiken. Het gebruik van OLE DB wordt ondersteund. Zie voor meer informatie Gegevenstype-ondersteuning ODBC verbeteringen datum en tijd en Geavanceerde datum- en tijdfuncties gebruiken (OLE DB).

Formulieren en rapporten     U kunt het uitgebreide datum/tijd-gegevenstype toevoegen aan een formulier of rapport. In een formulier kunt u de datumkiezer en het invoermasker gebruiken om een datum met een groter bereik in te voeren, maar niet de nauwkeurigheid voor nanoseconden.

Ondersteuning voor expressies   Het uitgebreide datum/tijd-gegevenstype ondersteunt Statistische functies van SQL en expressie-evaluatie. Zo kunt u LoggedDateTime met het uitgebreide datum/tijd-gegevenstype bijvoorbeeld gebruiken als een veld:

Taak

Voorbeeld

Resultaat

De minimumwaarde zoeken

Min(LoggedDateTime)

De vroegste datum en tijd binnen het bereik

De maand extraheren

Maand(LoggedDateTime)

De naam van de maand, zoals januari

Eén dag toevoegen

[LoggedDateTime]+1

Dinsdag wordt dan woensdag

Naar boven

Aandachtspunten voor compatibiliteit met eerdere versies

Het uitgebreide datum/tijd-gegevenstype is niet compatibel met eerdere versies van Microsoft Access. Als het type wordt gebruikt in een lokale Access-tabel, kunnen versies van Access die de functie niet bevatten, de database niet openen.

U kunt het uitgebreide gegevenstype Datum/tijd voor koppelings- en importbewerkingen in- of uitschakelen met de optie Huidige databasetoegangOndersteuning voor uitgebreid gegevenstype Datum/tijd voor gekoppelde/lmported tabellen. Zie Gebruikersopties voor de huidige database instellen voor meer informatie.

Naar boven

Het uitgebreide datum/tijd-gegevenstype gebruiken als een reeks in VBA

De volgende VBA-voorbeelden maken gebruik van DAO-methoden om het uitgebreide datum/tijd-gegevenstype weer te geven, in te voeren en te evalueren op basis van de onderstaande tabel.

Id

DTEData

DTData

1

1/1/2 1:01:03.1234567 AM

1/1/2001

Tabelnaam:    DTETableID gegevenstype:    AutonummeringDTEData gegevenstype:    Uitgebreide datum/tijdDTData gegevenstype:    Datum/tijd

Voorbeeld: De datum en tijd weergeven

In het volgende voorbeeld worden de datum en de tijd weergegeven. De gebruikte indeling is mm/dd/jjjj uu:mm:ss.nnnnnnn in 24-uurs klok. Deze indeling kan niet worden aangepast.

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

Resultaat    Access-weergave: 01/01/0002 01:01:03.1234567.

Voorbeeld: De datum en tijd invoeren

In het volgende voorbeeld worden de datum en tijd ingevoerd met een reeksnotatie. Alle standaardnotaties voor datum en tijd worden ondersteund.

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

Resultaat    Access voegt een nieuwe rij toe (ID = 2):

Id

DTEData

DTData

1

1/1/2 1:01:03.1234567 AM

1/1/2001

2

1/1/9999 1:01:01.0123000 AM

1/1/2001

Voorbeeld: Een query-expressie evalueren

In het volgende voorbeeld wordt de Dagfunctie gebruikt om het nummer uit de datum- en tijdvelden te extraheren.

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

Resultaat    Access-weergave:

De dag van de maand is: 1 De dag van de maand is: 1

Naar boven

Zie ook

Inleiding tot gegevenstypen en veldeigenschappen

Een datum- en tijdveld opmaken

Een datum- en tijdveld maken of verwijderen

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.