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

como implemento esto?

Estas en el tema de como implemento esto? en el foro de ASP Clásico en Foros del Web. he hecho un query por medio de access y es de esta manera SELECT RequestItin.PNR, RequestItin.Language, RequestItin.QueryDate, CVDate(Format$([QueryDate],"dd/mm/yyyy")) AS Expr1 FROM RequestItin WHERE (((CVDate(Format$([QueryDate],"dd/mm/yyyy"))) Between ...
  #1 (permalink)  
Antiguo 15/01/2002, 22:27
Avatar de rodvilleda  
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 5 meses
Puntos: 0
como implemento esto?

he hecho un query por medio de access y es de esta manera

SELECT RequestItin.PNR, RequestItin.Language, RequestItin.QueryDate, CVDate(Format$([QueryDate],"dd/mm/yyyy")) AS Expr1
FROM RequestItin
WHERE (((CVDate(Format$([QueryDate],"dd/mm/yyyy"))) Between #12/15/2001# And #12/20/2001#))

pero al pasarla a la asp me da error de sintaxis, ademas de que creo que format$ no puede usarse. Cómo puedo hacer para implementar esto?

gracias a todos.
  #2 (permalink)  
Antiguo 16/01/2002, 05:47
 
Fecha de Ingreso: enero-2002
Mensajes: 89
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: como implemento esto?

Una de las cosas que debes hacer es doblar las comillas, es decir que si tienes sql="Select ..."2002-01-15"...." tienes que poner "Select ...""2002-01-15""...." .
Aparte en las fechas no se utiliza el caracter ' ?
Un saludo ;)
  #3 (permalink)  
Antiguo 16/01/2002, 06:33
 
Fecha de Ingreso: enero-2002
Mensajes: 21
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: como implemento esto?

Buenas tardes

Creo que acces usa el caracter # para las fechas, no estoy seguro por que no trabajo en access pero creo que era algo asi.

Un saludo
  #4 (permalink)  
Antiguo 16/01/2002, 10:44
Avatar de rodvilleda  
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: como implemento esto?

efectivamente se usa # para las fechas. El problema que tengo es que me da el siguiente mensaje:

Error de compilación de Microsoft VBScript (0x800A0401)
Se esperaba un final de instrucción
resultados.asp, line 27, column 105

la linea 27, columna 105 es la siguiente:
(Format$([QueryDate], justo en la coma que está al final de querydate].

cual es el error?
  #5 (permalink)  
Antiguo 16/01/2002, 13:20
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como implemento esto?

Hola amigo:

Hasta donde llegan mis conocimientos Format() es una función de Visual Basic la cual no soporta VBScript.

Un saludo. :)

<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
  #6 (permalink)  
Antiguo 16/01/2002, 13:24
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: como implemento esto?

si quieres hacer que QueryDate te quede como dd/mm/aaaa usa lo siguiente

FormatDateTime(QueryDate)


salu2 ;) :)

<embed src="http://www.autocar.com.mx/images/logo.swf" type="application/x-shockwave-flash" width="468" height="60" play="true" wmode="transparent" menu="false" loop="true">
  #7 (permalink)  
Antiguo 16/01/2002, 13:28
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: como implemento esto?

ademas veo algo extraño

...,&quot;dd/mm/yyyy&quot;))) Between #12/15/2001# And #12/20/2001#))

tu estas diciendo dd/mm/yyyy y en la fecha del between usas mm/dd/yyyy por que no hay 15 meses en un año jeje tal vez por ahi este el error...


salu2 :) ;)

<embed src="http://www.autocar.com.mx/images/logo.swf" type="application/x-shockwave-flash" width="468" height="60" play="true" wmode="transparent" menu="false" loop="true">
  #8 (permalink)  
Antiguo 16/01/2002, 15:50
Avatar de rodvilleda  
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: como implemento esto?

ooops, cierto lo de los meses. En realidad lo que hago ahi es recibir un valor desde un formulario en una pagina anterior. Asi:

date1= Cdate(month1&amp;&quot;/&quot;&amp;day1&amp;&quot;/&quot;&amp;year1)
date2= Cdate(month2&amp;&quot;/&quot;&amp;day2&amp;&quot;/&quot;&amp;year2)

la consulta la he dejado asi:

sSQL = &quot;SELECT * FROM RequestItin WHERE FormatDateTime(QueryDate) Between &quot;&amp;date1&amp;&quot; And &quot;&amp;date2&amp;&quot; ORDER BY IdRequest &quot;

pero me da este error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] La función 'FormatDateTime' no está definida en la expresión.
resultados.asp, line 29

la linea 29 es la siguiente:
Rs.Open sSQL, oConn, adOpenStatic , adCmdTable


donde esta el error???

gracias
  #9 (permalink)  
Antiguo 16/01/2002, 16:52
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: como implemento esto?

Hola:

Lo que te está diciendo el mensaje es que no puedes usar FOrmatDateTime dentro de una consulta SQL ya que no te reconoce la función por no ser una función de SQL.

¿Por qué quieres usar una función de formateo de datos en una consulta? LLevo un rato viendo el código y aún no lo entiendo.

De todas maneras, no sé si funcione pero prueba con:

sSQL = &quot;SELECT * FROM RequestItin WHERE &quot; &amp; FormatDateTime(QueryDate) &amp; &quot; Between &quot;&amp;date1&amp;&quot; And &quot;&amp;date2&amp;&quot; ORDER BY IdRequest &quot;

Otra cosa: Yo nunca he tenido necesidad de usar # en Access para el manejo de fechas. Siempre he usado comillas tal cual.

Un saludo, espero que lo soluciones.


<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
  #10 (permalink)  
Antiguo 16/01/2002, 17:38
Avatar de rodvilleda  
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: como implemento esto?

gracias por tu ayuda aston. Pues bien, lo de FormatDateTime me lo esperaba pero no estaba seguro y por eso preferí preguntar. ¿Por qué quiero usar una función de formateo de datos en una consulta? es basicamente por lo siguiente: tengo una base de datos que tiene registrada, en el mismo campo, la fecha y hora, asi:

20/12/2001 10:31:17 a.m. el campo esta declarado como tipo Date/Time

el problema me viene cuando quiero obtener la cantidad de registros comprendidos entre dos fechas (date1 y date2) , ya que no me saca el numero real de registros comprendidos entre estas dos fechas, los resultados me dan bastante disparados de los reales. He probado invertir dd/mm/yyyy o mm/dd/yyyy y tampoco funciona. Lo que trataba con FormatDateTime es obligar a que se compare unicamente la fecha de mi registro de la base (es decir: 20/12/2001 y no 20/12/2001 junto con la hora) con las fechas que comprenden mi intervalo (date1 y date2).

No se que mas probar.....
  #11 (permalink)  
Antiguo 16/01/2002, 22:23
Avatar de rodvilleda  
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: como implemento esto?

será que esta muy dificil? :(

gracias
  #12 (permalink)  
Antiguo 16/01/2002, 23:09
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: como implemento esto?

oye si no mal recuerdo ya llevas bastante tiempo con el error... que bd estasutilizando?

de ser access puedes mandarmela para revisar?

salu2
[email protected]
:) ;)

<embed src="http://www.autocar.com.mx/images/logo.swf" type="application/x-shockwave-flash" width="468" height="60" play="true" wmode="transparent" menu="false" loop="true">
  #13 (permalink)  
Antiguo 16/01/2002, 23:18
Avatar de rodvilleda  
Fecha de Ingreso: enero-2002
Mensajes: 182
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: como implemento esto?

gracias urjose. La base efectivamente esta en access. En un par de minutos te la mando.

muchas gracias.
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 21:08.