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

buscar por fechas en Access

Estas en el tema de buscar por fechas en Access en el foro de ASP Clásico en Foros del Web. Hola, tengo un problema a la hora de ejecutar sentencias SELECT para ver si existe un registro con una determinada fecha. Le paso la fecha ...
  #1 (permalink)  
Antiguo 20/08/2002, 16:44
 
Fecha de Ingreso: agosto-2002
Mensajes: 5
Antigüedad: 22 años, 8 meses
Puntos: 0
buscar por fechas en Access

Hola, tengo un problema a la hora de ejecutar sentencias SELECT para ver si existe un registro con una determinada fecha.
Le paso la fecha formateada de la siguiente manera:

strFecha = FormatDateTime(Date, 2)
dtFecha = CDate(strFecha)
strSql = "SELECT * FROM cliente WHERE fecha = #" & dtFecha & "# AND idweb = " & intIdweb

A esto el rs me lo devuelve como fecha encontrada (el rs es no nulo), pero porque es una fecha que existe. Cuando intento buscar una fecha que no existe me devuelve también un rs no nulo.
Creo que mi problema radica en que no sé cómo pasarle a la sentencia sql la fecha, lo estoy haciendo así: #" & dtFecha & "#
pero no sé si es correcto.

Por favor, necesito que alguien me dé una solución concreta, ya que las respuestas que he encontrado en otros foros no han conseguido otra cosa que liarme aún más.

Gracias de antemano y un saludo. :)
  #2 (permalink)  
Antiguo 20/08/2002, 17:47
 
Fecha de Ingreso: mayo-2002
Ubicación: Mexico DF
Mensajes: 119
Antigüedad: 23 años
Puntos: 0
Re: buscar por fechas en Access

Hola, intentalo asi

strFecha = FormatDateTime(Date, 2)
dtFecha = CDate(strFecha)
strSql = "SELECT * FROM cliente WHERE fecha = '"&dtFecha&"' AND idweb = " & intIdweb

Saludos
  #3 (permalink)  
Antiguo 20/08/2002, 17:58
 
Fecha de Ingreso: mayo-2001
Mensajes: 452
Antigüedad: 24 años
Puntos: 1
Re: buscar por fechas en Access

Verifica que tu campo de fecha en la bd este definido como Fecha Corta... no vaya a ser que tenga la hora tambien.

En la consulta, solo envia la fecha en el formato USA, esto es:
MM/DD/AAAA
lo puedes obtener con
a=Year(cpoFecha)
m=Month(cpoFecha)
d= Day(cpoFecha)

nuevaFecha= m & "/" & d & "/" & a

y tu select, tal como lo hiciste: "WHERE FECHA #" & nuevaFecha & "#"


  #4 (permalink)  
Antiguo 21/08/2002, 14:52
 
Fecha de Ingreso: agosto-2002
Mensajes: 5
Antigüedad: 22 años, 8 meses
Puntos: 0
Re: buscar por fechas en Access

Hola, gracias por vuestro tiempo, pero sigue sin funcionarme.
En respuesta a jasistemas: he probado lo que me has dicho sin éxito, pero hay una cosa que no entiendo.
Código:
strFecha = FormatDateTime(Date, 2)
dtFecha = CDate(strFecha)
a = Year(dtFecha)
m = Month(dtFecha)
d = Day(dtFecha) 
dtFecha = m & "/" & d & "/" & a  
dtFecha = CDate(dtFecha)
Creo que el paso de separar la fecha en distintas variables no hace falta, y además está el tema de que cuando tú unes esas variables, ¿no estás automáticamente convirtiendo la fecha a tipo string?, porque asp trata las variables dependiendo del manejo que le dés, si tú concatenas dos o más variables con "&" la estás convirtiendo a string. Por eso la he convertido después otra vez a tipo fecha.
Pues eso, el recordset sigue saliendo no nulo cuando busco una fecha que no existe, por ejemplo dtFecha = dtFecha - 1

Este es el código completo, a ver si pueden ayudarme:

Código:
strFecha = FormatDateTime(Date, 2)
dtFecha = CDate(strFecha)
a = Year(dtFecha)
m = Month(dtFecha)
d = Day(dtFecha) 
dtFecha = m & "/" & d & "/" & a  
dtFecha = CDate(dtFecha)

strSql = "UPDATE cliente SET contador = contador + 1, fecha = #" & dtFecha & "#, comentario = 'actualizado' WHERE idweb = " & intIdweb
cnn.Execute strSql, , adCmdText + adExecuteNoRecords

dtFecha = CDate("05/06/2002") 'mes/dia/año
strSql = "SELECT * FROM cliente WHERE fecha = #" & dtFecha & "# AND idweb = " & intIdweb
rs.Open, cnn, adOpenDynamic, adLockReadOnly, adCmdText
If (rs.bof And rs.eof) then
	strSql = "UPDATE cliente SET comentario = 'rs nulo' WHERE idweb = " & intIdweb
	cnn.Execute strSql, , adCmdText + adExecuteNoRecords
Else
	strSql = "UPDATE cliente SET comentario = 'rs no nulo' WHERE idweb = " & intIdweb
	cnn.Execute strSql, , adCmdText + adExecuteNoRecords
End If
Es increíble, pues si en las sentencias sql de la condición "If" le digo que actualice también la fecha, veo que antes no existía: cómo la encontró?
  #5 (permalink)  
Antiguo 22/08/2002, 16:22
 
Fecha de Ingreso: agosto-2002
Mensajes: 5
Antigüedad: 22 años, 8 meses
Puntos: 0
Re: buscar por fechas en Access

Ya he dado con la fórmula

he concatenado la fecha tal como me dijisteis y he realizado la orden select de la siguiente manera:
Código:
 
strSql = "SELECT * FROM cliente WHERE fecha = format('" & strFecha & "','dd/mm/yyyy') AND idweb = " & intIdweb
Gracias por vuestra atención
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 22:57.