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).
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 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 |
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 o Disminuir decimales .
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 |
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.
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: DTETable
Tipo de datos de Id.: Autonumeración Tipo de datos DTEData: Fecha y hora extendida Tipo de datos DTData: Fecha y horaEjemplo: 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: 1Vea también
Introducción a los tipos de datos y las propiedades de los campos