Muy Urgente problema con formato fecha

Tengo un archivo en asp en cual recibo una fecha de una película flash como texto y deseo introducir dicha fecha en una tabla de Access. Bueno he conseguido insertarla en la base de datos pero me la insertar en formato americano como puedo hacer para que me la inserte en formato europeo. Ya he mirado la configuración regional y la tengo como español. He probado lo siguiente: Fecha=Day(Fecha) & "/" & Month(Fecha) & "/" & Year(Fecha) pero el problema es cuando intento convertirlo a fecha con la función CDATE para que la base de datos lo vea como fecha y no como texto y no funciona.

3 respuestas

Respuesta
1
La mejor manera que use para insertar fechas en una tabla independientemente del idioma es con el formato yyyymmdd
Seria algo así como:
year(date()) & right("0"&month(date()),2) & right("0"&day(date()),2)
Respuesta
1
Si entrás al Access y ponés la fecha a mano, ¿qué formato te admite?
Lo que podes hacer, como recibís la fecha en formato string, es cortarla y armarla a tu gusto, y pasarla como string a la consulta de actualización.
En un query de actualización, tranquilamente podes mandar por ejemplo: "11/07/1982".
Muy buenas y gracias por el breve tiempo que te has tomado para responderme,
En respuesta a tu consulta cuando la inserto en Access me acepta cualquier fecha. He probado lo que me dices y cuando y me funciona (gracias) cuando inserto el valor manualmente. Pero cuando la fecha no se inserta por defecto el programa debe poner la de hoy, para uso eso la función date() pero como me devuelve el formato americano, lo que hago es la formateo así Fecha = Day(Fecha) & "/" & Month(Fecha) & "/" & Year(Fecha) pero me da error no coinciden los tipos.
Saludos de Lovezno espero no causarte muchas molestias con mis dudas y te doy las gracias por tu tiempo.
Una buena solución es que entonces pongas en Access (en las propiedades del campo en la DB) como valor predeterminado la fecha actual.
De esta manera, vos hacés el control desde el ASP y mandás la fecha solamente en el caso que sea distinta de la actual. Si es igual a la actual, no mandás nada y por defecto va a tomar la fecha actual.
¿Se entiende?
Respuesta
1
No he trabajado las fecha con Access, pero siempre la función CDate me trae problemas al convertir un texto a una fecha, ya que esta función requiere que sea ingresada el formato de fecha tal como está definido en la configuración regional. Sin embargo, existe una función mucho más segura, siendo su formato:
DateSerial(año, mes, día)
Donde
Año: Integer, de 100 a 9999 inclusive
Mes: Integer, cualquier entero.
Día: Integer, cualquier entero.
Esta función recibe cada parte de la fecha por separado y te devuelve un variable de tipo fecha. Como verás, es muy útil, ya que tú manejas exactamente la fecha.
Espero que esto te sirva. Si no, ponte en contacto conmigo y buscaremos otro solución.
Para una referencia más completa, dirígete a:
http://msdn.microsoft.com/library/en-us/script56/html/vsfctDateSerial.asp?frame=true
Suerte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas