Foros del Web » Programando para Internet » ASP Clásico »

Problema con fechas

Estas en el tema de Problema con fechas en el foro de ASP Clásico en Foros del Web. Buenas tengo un problema para tratar unas fechas, Estoy definiendo una sentencia sql, q me muestre los usuarios incritos despues de una cierta fecha que ...
  #1 (permalink)  
Antiguo 13/10/2004, 09:42
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 22 años
Puntos: 0
Problema con fechas

Buenas tengo un problema para tratar unas fechas,

Estoy definiendo una sentencia sql, q me muestre los usuarios incritos despues de una cierta fecha que introduzco mediante un formulario, FechaIni, esta fecha tiene formato dd/mm/aaaa y el mismo que la fecha q tengo almacenado en mi base de datos, lo unico q la fecha q almaceno en la Base de Datos, esta definida en formato Texto,

he probado con:
"SELECT * FROM Usuario WHERE "&FechaIni&" > FechaSesion1 "
y tambien, descomponiendo la ambas fechas en dia, mes y año, pero no consigo los resultado deseados...

Espero que alguien me heche una mano

Gracias
__________________
Salut i Força al Canut
  #2 (permalink)  
Antiguo 13/10/2004, 10:02
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Mmm... pero FechaIni es el nombre de campo? Si es así, por qué lo concatenás como si fuera una variable?
Yo lo pondría así:

"SELECT * FROM Usuario WHERE FechaIni > '" & FechaSesion1 &"'"

Igual no estoy seguro que te de los resultados esperados siendo fechaini un campo de texto.
__________________
...___...
  #3 (permalink)  
Antiguo 13/10/2004, 10:10
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 22 años
Puntos: 0
Gracias por la rapida respuesta...

FechaI, si que es el nombre del campo que el usuario introduce, pero ya he probado con esta sentencia SQL, q me has pasado, y no va,mejor dicho, funciona, pero no da los resultados q deberia, y creo q es pq trabajo con campos de fecha, definidos como texto

"SELECT * FROM Usuario WHERE FechaIni > '" & FechaSesion1 &"'"
__________________
Salut i Força al Canut
  #4 (permalink)  
Antiguo 13/10/2004, 10:39
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Ahá, es por eso. Pasalos a date/time o usá numéricos al estilo AAAAMMDD
__________________
...___...
  #5 (permalink)  
Antiguo 13/10/2004, 13:09
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 22 años
Puntos: 0
estoy en ello

muchas gracias, he pasado a formato AAAAMMDD, el valor del campo que recibo del formulario es decir, FechaIni
Pero no consigo poder cambiar el valor del campo que tengo almacenado en la base de datos, FechaSesion1 a formato, AAAAMMDD, dentro de la misma consulta sql

no se si me explico, lo que quisiera saber, es si puedo, transformar el valor de FechaSesion1 a formato AAAAMMDD, en la misma sentencia SQL, para que me hiciera la comparacion al lanzar a ejecucion la select....

Muchas Gracias de nuevo
__________________
Salut i Força al Canut
  #6 (permalink)  
Antiguo 13/10/2004, 15:16
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
¿Mmm... y si intentás usar "Cdate"?

Probá esto:

"SELECT * FROM usuario WHERE CDate(FechaIni) > #& FechaSesion1 &#"

No sé si funciona, pero con intentar...
__________________
...___...
  #7 (permalink)  
Antiguo 14/10/2004, 01:57
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 22 años
Puntos: 0
he probado el Cdate, tal y como tu has dicho, pero nada de nada, sigue sin dar los resultados deseados...
Ahora pruebo con la conversion de las fechas a Formato AAAAMMDD, luego contare el resultado en caso q sea positivo
__________________
Salut i Força al Canut
  #8 (permalink)  
Antiguo 14/10/2004, 08:58
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Lo acabo de probar, recreando la situación en una BD Access, y funciona bien lo que antes te dije. La estructura de la tabla 'usuario' era sólo el campo FechaIni (definido como texto) con los siguientes datos y en este orden:

Código:
10/10/2004
12/10/2004
11/10/2004
13/10/2004
14/10/2004
15/10/2004
01/01/2003
Al hacer un SELECT * FROM usuario ORDER BY CDate(FechaIni) DESC me devolvió:

Código:
15/10/2004
14/10/2004
13/10/2004
12/10/2004
11/10/2004
10/10/2004
01/01/2003
Al hacer un SELECT * FROM usuario WHERE CDate(FechaIni) BETWEEN #14/10/2004# AND #11/10/2004# me devolvió:

Código:
14/10/2004
15/10/2004
Y al hacer un SELECT * FROM usuario WHERE CDate(FechaIni) > #10/12/2004# me devolvió:

Código:
13/10/2004
14/10/2004
15/10/2004
... o sea: todo bien
__________________
...___...
  #9 (permalink)  
Antiguo 02/11/2004, 10:47
 
Fecha de Ingreso: abril-2003
Mensajes: 260
Antigüedad: 22 años
Puntos: 0
Al Zuwaga

Gracias, lo habia dejado un poco de lado, pero de nuevo hoy he vuelto a la carga, y he probado tu ultimo consejo!!
Funciona, eres un crack, mil gracias compañero!!
__________________
Salut i Força al Canut
  #10 (permalink)  
Antiguo 02/11/2004, 11:10
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
de nada
__________________
...___...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:11.