martes, 6 de mayo de 2014

Error de Transferencia de fecha de VB a access



Agregar y personalizar formatos de fecha y hora

En este artículo se explican las diversas formas en que se pueden especificar valores de fecha y hora en una base de datos de Microsoft Office Access 2007. En la información contextual se explica cómo Access almacena los valores de fecha y hora, así como cuándo y por qué debe usarse un método de entrada de datos determinado. En los pasos de los procedimientos se explican las técnicas más comunes de entrada de valores de fecha y hora, cómo crear y usar máscaras de entrada, y cómo aplicar diferentes formatos de presentación a los valores de fecha y hora.

Cuando se usa una base de datos de Access, los valores de fecha y hora pueden aparecer en diversos formatos, como un formato europeo (28.11.2006 ó 28-11-2006), un formato surasiático (28/11/2006) o el formato de EE.UU. (11/28/2006).

Independientemente de cómo Access aplique formato a los valores de fecha y hora e independientemente de cómo se realice la entrada de los valores de fecha y hora, Access almacena estos valores como números de punto flotante de precisión doble: se trata de un sistema que también se denomina fechas de serie. En esta ilustración se representa un valor de fecha y hora de serie típico.



La parte correspondiente al entero del valor, situada a la izquierda del separador decimal, representa la fecha.

El número en la ilustración representa las 9 p.m. del 24 de diciembre de 2003. El componente de fecha es el número de días enteros que han transcurrido desde la fecha inicial o "base" del 30/12/1899. En este ejemplo, han transcurrido 37.979 días desde el 30/12/1899 hasta el 24/12/2003. El componente de hora es una fracción de un día de 24 horas. Por lo tanto, un valor de 0,875 multiplicado por 24 horas es igual a 21 horas o 9:00 p.m.

Los valores negativos en el componente de fecha representan fechas anteriores a la fecha base. Por ejemplo, el valor -1 como componente de fecha equivale a un día anterior a la fecha base, es decir, 29/12/1899.

El intervalo de valores de fecha válidos va de -657.434 (1 de enero de 100 D.C.) a 2.958.465 (31 de diciembre de 9999 D.C.). El intervalo de valores de hora válidos es de .0 a .9999, es decir, 23:59:59.

Al almacenar los valores de fecha y hora como números, se pueden realizar numerosos cálculos con las fechas y horas. Por ejemplo, se puede calcular el número total de horas trabajadas (ficha de presencia) o la antigüedad de una factura. Para obtener más información sobre el cálculo de valores de fecha, vea los artículos: Date (función) y Crear una expresión.


El tipo de datos Date siempre contiene información de fecha y hora. Para la conversión de tipos, Visual Basic considera 1/1/1 (1 de enero del año 1) un valor neutral de fecha y 00:00:00 (medianoche) un valor neutral de hora. Si a un valor Date se le asigna el formato de cadena de fecha u hora, FormatDateTime no incluye valores neutrales en la cadena resultante. Por ejemplo, si se convierte #1/1/0001 9:30:00# en una cadena, el resultado sería "9:30:00 AM", ya que la información de fecha se omite. No obstante, la información de fecha sigue estando presente en el valor Date original y se puede recuperar mediante funciones como DatePart.


En este ejemplo se muestra el uso de la función FormatDateTime.
VB
Dim TestDate As DateTime = #3/12/1999#

' FormatDateTime returns "Viernes, Marzo 12, 1999".
'Dim TestString As String = FormatDateTime(TestDate, DateFormat.LongDate)