problema con fechas

02/11/2005 - 09:35 por Sonia | Informe spam
tengo un problema con las fechas con acces.
ya se q coge la fecha inglesa, pero cambie la configuracion regional para
poner el formato como dd/mm/aaaa y funcionaba perfectamente.
pero hoy dia 02/11/2005 me doy cuenta q desde el dia 01 al dia 09 de cada
mes, se guarda la fecha como mm/dd/aaaa
puedo solucionar estod e alguna forma?
uso vb.net y acces
1000 gracias!

Preguntas similare

Leer las respuestas

#6 Sonia
03/11/2005 - 10:02 | Informe spam
no puedo guardarlo en formato americano pq a la misma base de datos acceden
la mayoria de ordenadores desde la aplicacion vieja de vb6 y se guarda la
fecha correctamente dd-mm-aaaa
no puedo ahora ir guardandola en el otro formato pq el servidor tiene q
imprimir las etiquetas diarias y si en la misma base se guardan 2 fechas
diferentes como un mismo dia..nos puede traer problemas


"SoftJaén" escribió en el mensaje
news:

"Sonia" escribió:
>
> y no hay ninguna posibilidad de guardarla en formato dd/mm/aaaa ?
> es q necesito hacerlo asi y me deja pero me cambia el dia x el
> mes cuando es dia 01,0209

¿Pero para qué quieres guardar la fecha en formato dd/mm/aaaa? Eso solo
sirve para complicarse la vida. Piensa que tu aplicación se debe de


adaptar
a la configuración regional del usuario; no al contrario.

Si no deseas tener esos problemas, guarda la fecha en formato americano, y
verás como serás más feliz. ¡Mujer! Haz al menos una prueba y me comentas
los resultados. :-)

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado


o
sugerido en el presente mensaje.



Respuesta Responder a este mensaje
#7 Lord Voldemort
03/11/2005 - 15:29 | Informe spam
una respuesta podria ser usar el formato ANSI..


he buscado info sobre fechas ...
este es una copia de un correo que lo envio Ruben Vigon
Adaptalo a tus necesidades para realizar tus inserciones...



Hola David,


El 99% de los problemas con las fechas en instrucciones SQL se resuelven
usando el formato ANSI (yyyymmdd); por ejemplo, para Access:


SELECT * FROM Pedidos WHERE FechaEntrega = #2004/12/31#


UPDATE Pedidos SET FechaEntrega = #2004/12/31# WHERE FechaEntrega #2004/02/28#


Para SQL Server:


SELECT * FROM Pedidos WHERE FechaEntrega = '20041231'


UPDATE Pedidos SET FechaEntrega = '20041231' WHERE FechaEntrega = '20040228'


Un saludo!


Rubén Vigón
Microsoft MVP Visual Basic
http://www.mvp-access.com/rubenvigon







"Sonia" wrote in message
news:

no puedo guardarlo en formato americano pq a la misma base de datos
acceden
la mayoria de ordenadores desde la aplicacion vieja de vb6 y se guarda la
fecha correctamente dd-mm-aaaa
no puedo ahora ir guardandola en el otro formato pq el servidor tiene q
imprimir las etiquetas diarias y si en la misma base se guardan 2 fechas
diferentes como un mismo dia..nos puede traer problemas


"SoftJaén" escribió en el mensaje
news:

"Sonia" escribió:
>
> y no hay ninguna posibilidad de guardarla en formato dd/mm/aaaa ?
> es q necesito hacerlo asi y me deja pero me cambia el dia x el
> mes cuando es dia 01,0209

¿Pero para qué quieres guardar la fecha en formato dd/mm/aaaa? Eso solo
sirve para complicarse la vida. Piensa que tu aplicación se debe de


adaptar
a la configuración regional del usuario; no al contrario.

Si no deseas tener esos problemas, guarda la fecha en formato americano,
y
verás como serás más feliz. ¡Mujer! Haz al menos una prueba y me comentas
los resultados. :-)

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado


o
sugerido en el presente mensaje.








Respuesta Responder a este mensaje
#8 SoftJaén
04/11/2005 - 12:24 | Informe spam
"Sonia" escribió:

no puedo guardarlo en formato americano pq a la misma base de datos
acceden la mayoria de ordenadores desde la aplicacion vieja de vb6 y
se guarda la fecha correctamente dd-mm-aaaa
no puedo ahora ir guardandola en el otro formato pq el servidor tiene q
imprimir las etiquetas diarias y si en la misma base se guardan 2 fechas
diferentes como un mismo dia..nos puede traer problemas



Si en VB6 guardas las fechas en formato dd-mm-aaaa, entiendo que las estás
guardando mal.

¿Has realizado la prueba que te indiqué?

¡Vamos a ver, Sonia! En una base de datos Microsoft Access, las fechas no se
guardan con formato alguno; ni en 'dd/mm/aaaa', ni en 'mm/dd/aaaa', ni
tampoco en 'aaaa/mm/dd'. Que yo sepa, las fechas se almacenan como un número
de punto flotante de 64 bits (8 bytes), con independencia de la
configuración regional que tenga establecida el usuario de la aplicación. Y
da igual que los usuarios utilicen una aplicación escrita con Visual Basic
clásico, o con Visual Basic .NET, porque ambas aplicaciones están accediendo
a la misma base de datos: una base de datos Microsoft Access, que es un
archivo independiente de la aplicación, y por tanto, todas las aplicaciones
que accedan a la base de datos, se deben de adaptar a las normas para
guardar una fecha, si posteriormente quieres recuperar correctamente la
fecha, que vuelvo a insistir se encuentra almacenada como un número. Si
deseas conocer el número que se corresponde con la fecha de hoy, ejecuta la
siguiente línea:

MessageBox.Show(Now.ToOADate.ToString, Now.ToString)

Otra cosa muy distinta es saber representar en formato de fecha, ese número
que se encuentra almacenado en la base de datos, tanto para que el usuario
lo pueda leer con el formato de fecha que tenga establecido en su
configuración regional, como si deseas que el servidor imprima las etiquetas
diarias, y eso ya es un problema de tu aplicación. Tu aplicación debe de
introducir las fechas en la base de datos en un formato correcto, para que
posteriormente se puedan recuperar como tal fecha, y el formato correcto
para introducir una fecha en una base de Access es el formato americano
encerrado entre signos númericos: #MM/dd/yyyy#.

Si utilizas ese formato, te aseguro que no tendrás problemas para recuperar
las fechas, ni con VB6 ni con .NET, ni desde el propio Microsoft Access. Ya
te indiqué anteriormente, que si utilizas el formato español (dd/mm/aaaa),
dicho formato se puede utilizar siempre y cuando la fecha correspondiente al
día del mes sea superior al día 12. Si es inferior, el motor Microsoft Jet
tomará el valor del día como si fuera el valor del mes, y te vendrán los
problemas que estás teniendo.

Pero en fin, de ti depende ya que introduzcas las fechas como creas
conveniente, pero por las recomendaciones que te hemos dado, tanto en este
grupo de noticias, como en el de Visual Basic 6.0, creo que al menos
deberías de realizar una prueba y analizar los resultados.

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida