Applies ToAccess para Microsoft 365 Access 2024 Access 2021

El tipo de datos de Fecha y hora extendida almacena información de fecha y hora y es similar al tipo de datos de fecha y hora, pero ofrece un intervalo de fechas mayor, una precisión decimal mayor y la compatibilidad con el tipo de fecha datetime2 de SQL Server. Cuando importa o vincula datos de Access a SQL Server, puede asignar constantemente un campo de Fecha y hora extendida de Access a una columna datetime2 de SQL Server. Para más información, vea datetime2 (Transact-SQL).

Rango de Fecha y hora extendida

Advertencia    Cuando crea expresiones y utiliza funciones de fecha y hora basadas en el tipo de datos de Fecha y hora extendida en Access, puede perder precisión en los cálculos o encontrar otros problemas con los resultados. Somos conscientes de este problema y tenemos previsto ofrecer mejor soporte para expresiones y funciones en una versión futura. Como solución alternativa, puede Crear una consulta de paso para usar la expresión equivalente de SQL Server y las funciones de fecha y hora. Para más información, vea Comparar Access SQL con SQL Server TSQL.

En este artículo

Comparación de los tipos de datos de Fecha y hora y de Fecha y hora extendida

Usar el tipo de datos de Fecha y hora extendida

Consideraciones de compatibilidad con versiones anteriores

Usar el tipo de datos Fecha y hora extendida como una cadena en VBA

Comparación de los tipos de datos de Fecha y hora y de Fecha y hora extendida

En la tabla siguiente se resumen las diferencias importantes entre los dos tipos de datos.

Attribute

Fecha y hora

Fecha y hora extendida

Valor mínimo

100-01-01 00:00:00

0001-01-01 00:00:00

Valor máximo

9999-12-31 23:59:59.999

9999-12-31 23:59:59.9999999

Precisión

0,001 segundos

1 nanosegundo

Tamaño

Punto flotante de doble precisión

Cadena codificada de 42 bytes

Principio de página

Usar el tipo de datos de Fecha y hora extendida

La siguiente información describe consideraciones de uso importantes.

Vista Diseño de tabla    Para aprovechar el mayor rango de datos y la mayor precisión, puede agregar un campo a una tabla de Access. También puede convertir un tipo de datos de Fecha y hora a Fecha y hora extendida en la vista Diseño de tabla. También se admite el uso de este tipo de datos como un campo de clave principal. Para más información, vea Crear una tabla y agregar campos.

Introducir la fecha y la hora   La introducción de valores de fecha y hora es similar al tipo de datos de Fecha y hora, excepto que también puede introducir un nanosegundo decimal. Por ejemplo:

  • Formato de entrada: dd/mm/aaaa hh:mm:ss,nnnnnnn

  • Ejemplo: 15/06/1215 09:25:3,234

Si hay más de 7 nanosegundos decimales, se redondean a 7 dígitos. Para controlar la visualización de decimales de nanosegundos, abra la Tabla, en la cinta seleccione Campos y en el grupo Formato, seleccione Incrementar decimales Imagen del botón o Disminuir decimales Imagen del botón.

Formato    Los tipos de datos de Fecha y hora, y de Fecha y hora extendida, usan cadenas de formato estándar de Fecha general, Fecha larga, Fecha mediana, Fecha corta, Hora larga, Hora medianay Hora corta y ambas admiten el formato personalizado. Para el tipo de datos Fecha y hora extendida, los formatos estándar basados en tiempo también admiten precisión decimal para nanosegundos. El formato del tipo de datos de Fecha y hora extendida predeterminado es Fecha general y Hora larga y sigue las opciones que se especifican en la Configuración regional de Windows. También puede controlar el formato de precisión decimal mediante la propiedad Posiciones decimales para especificar el número de dígitos a la derecha de la coma decimal (1-7).

Vincular e importar     También puede vincular a bases de datos o importar desde ellas con el tipo de datos correspondiente, como el tipo de datos datetime2 de SQL Server. Se admiten las bases de datos de la versión 2014 o posterior de SQL Server. El tipo de datos de Fecha y hora extendida requiere el uso de Microsoft ODBC Driver for SQL Server 11 o posterior. Recomendamos usar Microsoft ODBC Driver 13.1 for SQL Server. El uso de OLE DB también es compatible. Para más información, vea Compatibilidad con el tipo de datos para la mejora de Fecha y hora de ODBC y Usar las características mejoradas de Fecha y hora (OLE DB).

Formularios e informes    Puede agregar el tipo de datos Fecha y hora extendida a un formulario o informe. En un formulario, puede usar el selector de fecha y la máscara de entrada para introducir una fecha con el rango más amplio, pero no la precisión decimal en nanosegundos.

Compatibilidad con expresiones   El tipo de datos Fecha y hora extendida es compatible con Funciones de agregado de SQL y la evaluación de expresiones. Por ejemplo, si usa LoggedDateTime como campo con el tipo de datos de Fecha y hora extendida:

Tarea

Ejemplo

Resultado

Buscar el valor mínimo

Min(LoggedDateTime)

La fecha y la hora más temprana en el rango

Extraer el mes

Month(LoggedDateTime)

El nombre del mes, como enero

Agregar un día

[LoggedDateTime] + 1

Martes se convertiría en miércoles

Principio de página

Consideraciones de la compatibilidad con versiones anteriores

El tipo de datos Fecha y hora extendida no es compatible con versiones anteriores de Microsoft Access. Si el tipo se usa en una tabla de Access local, las versiones de Access que no incluyan la característica no podrán abrir la base de datos.

Puede habilitar o deshabilitar el tipo de datos De fecha y hora extendida para las operaciones de vinculación e importación con la opción acceso a la base de datos actualque admite el tipo de datos de fecha y hora extendida para tablas vinculadas o lmportadas. Para obtener más información, consulte Configurar opciones de usuario para la base de datos activa.

Principio de página

Usar el tipo de datos Fecha y hora extendida como una cadena en VBA

Los siguientes ejemplos de VBA usan métodos de DAO para mostrar, escribir y evaluar el tipo de datos de Fecha y hora extendida basado en la tabla siguiente.

ID

DTEData

DTData

1

1/1/2 1:01:03,1234567

1/1/2001

Nombre de tabla:    DTETableTipo de datos de Id.:    AutonumeraciónTipo de datos DTEData:    Fecha y hora extendidaTipo de datos DTData:    Fecha y hora

Ejemplo: Mostrar la fecha y la hora

En el ejemplo siguiente se muestran la fecha y la hora. El formato utilizado es dd/mm/aaaa hh:mm:ss,nnnnnnn en el reloj de 24 horas. El formato no se puede personalizar.

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

Resultado    Access muestra: 01/01/0002 01:01:03,1234567.

Ejemplo: Especificar la fecha y la hora

El ejemplo siguiente introduce la fecha y la hora con un formato de cadena. Se admiten todos los formatos de fecha y hora estándar.

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

Resultado    Access agrega una nueva fila (ID = 2):

ID

DTEData

DTData

1

1/1/2 1:01:03,1234567

1/1/2001

2

1/1/9999 1:01:01,0123000

1/1/2001

Ejemplo: Evaluar una expresión de consulta

En el ejemplo siguiente se usa la Función día para extraer el número de día de los campos de fecha y hora.

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

Resultado    Access muestra:

El día del mes es: 1 El día del mes es: 1

Principio de página

Vea también

Introducción a los tipos de datos y las propiedades de los campos

Aplicar formato a un campo de fecha y hora

Crear o eliminar un campo de fecha y hora

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.