Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/05/2005, 15:57
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años, 3 meses
Puntos: 7
No necesariamente es correcto.
El campo de texto contiene una String. Lo que está siendo usado en los ejemplos son Date.
No es lo mismo. Por ejemplo, en mi sistema la fecha corta tiene el formato MM/dd/yyyy configurado en las opciones regionales. Si introduzco una fecha con tu formato en el textbox, por ejemplo 11/06/2005 (11 de junio de 2005 en tu formato), la string que obtengo es 2005-11-06. Esto por supuesto no es lo que se desea.
Para obtener la fecha correcta, debo hacer una validación con los datos introducidos en el campo de texto, para obtener una variable de fecha válida con el formato que usas... Podría ser algo como:
Código:
Dim tmpArr As Variant
	tmpArr = Split(Text1.Text, "/")
	If UBound(tmpArr) = 2 Then
		stringFechaISO =  Format(DateSerial(tmpArr(2), tmpArr(1), tmpArr(0)), "yyyy-mm-dd")
	End If
Obviamente esta validación está incompleta, pero seguramente entiendes la idea. El punto importante, es que antes de pasar a tu base de datos la variable de fecha, debes de estar seguro de que se trata de una. El formato en memoria en tu sistema para una misma fecha es igual en tu sistema o en el mío, las opciones regionales de nuestros sistemas. Al poner un formato neutral como el ISO, se da por sentado que lo se está convirtiendo a String es una variable Date. No el string que la representa, sino lo que tu sistema o tu base de datos utilizan como Date.
Tal vez lo mejor sea que todas las fechas se ingresen con un control Date o DateTimePicker así no habría confusiones...