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

duda sobre una nueva consulta sql en asp

Estas en el tema de duda sobre una nueva consulta sql en asp en el foro de ASP Clásico en Foros del Web. miren tengo la siguiente consulta Cita: Set Registros4 =Conexion.Execute("SELECT COUNT(*) AS resov FROM TEMP_RESOLUCIONES WHERE RESO_FECHA_VEN >= RESO_FECHA_VEN - 6") necesito que me puedan correborar ...
  #1 (permalink)  
Antiguo 27/03/2006, 13:58
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
duda sobre una nueva consulta sql en asp

miren tengo la siguiente consulta

Cita:
Set Registros4 =Conexion.Execute("SELECT COUNT(*) AS resov FROM TEMP_RESOLUCIONES WHERE RESO_FECHA_VEN >= RESO_FECHA_VEN - 6")
necesito que me puedan correborar mi duda aca la explicare

es una base de datos access el campo RESO_FECHA_VEN es de tipo fecha y necesito saber si la consulta de arriba esta bien hecha y si se pueden hacer asi el objetivo de la consulta es que en la variable resov me contenga la cantidada de fechas menores o iguales fe la fecha de vencimiento -6


esta bien hacer la consulta asi??????
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #2 (permalink)  
Antiguo 27/03/2006, 14:06
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 19 años, 3 meses
Puntos: 1
Set Registros4 =Conexion.Execute("SELECT COUNT(ID_RESOLUCIONES) AS resov FROM TEMP_RESOLUCIONES WHERE RESO_FECHA_VEN >= RESO_FECHA_VEN - 6")


LA OPCION COUNT(*), NO FUNCIONA DE ESA MANERA, TIENES QUE DEFINIR EL CAMPO QUE VAS A CONTAR COMO POR EJEMPLO COUNT(ID) Y CON WHERE FILTRAS.
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
  #3 (permalink)  
Antiguo 27/03/2006, 15:12
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
ahora tengo esta consulta y me tira el siguiente error

Set Registros1 =Conexion.Execute("SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= REC_FECHA_VEN - 6")


Tipo de error:
objeto Response, ASP 0104 (0x80070057)
Operación no autorizada
/PRUEBAS/Muestra/Alert/verde.asp
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #4 (permalink)  
Antiguo 27/03/2006, 15:15
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 19 años, 3 meses
Puntos: 1
primera opcion:
Set Registros1 =Conexion.Execute("SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= (REC_FECHA_VEN - 6)")

segunda opcion:
Set Registros1 =Conexion.Execute("SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= [REC_FECHA_VEN - 6]")

verifica y me cuentas ok.
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
  #5 (permalink)  
Antiguo 27/03/2006, 15:18
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 3 meses
Puntos: 2
el "- 6" son 6 dias menos a la variable REC_FECHA_VEN no?, si es asi
debes usar dateadd
http://www.maestrosdelweb.com/editorial/asptime/
  #6 (permalink)  
Antiguo 27/03/2006, 15:21
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
correcto lo que dices

si se supone que a REC_FECHA_VEN le restp 6 dias
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #7 (permalink)  
Antiguo 27/03/2006, 15:23
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Cita:
Iniciado por mc_quake
el objetivo de la consulta es que en la variable resov me contenga la cantidada de fechas menores o iguales fe la fecha de vencimiento -6
Por lo que entiendo, es que en base a cierta fecha, hay que barrer la tabla y regresar las fechas menores a esa fecha menos 6 días, ¿es correcto?
Cita:
SELECT Count(*) as resov
FROM TEMP_RESOLUCIONES
where fecha <= DateAdd('d',-6,"27/03/2006")
Puedes sustituir la fecha constante por el valor de una variable

Por cierto, en Acccess, el count(*), es perfectamente válido.

Saludos
  #8 (permalink)  
Antiguo 27/03/2006, 15:44
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
actual= date()
Set Registros1 =Conexion.Execute("SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= DateAdd('d',-6,"actual")")

puce esto y tampoco funciona no se que onda me a costado ene tratar de hacer correr esta consulta algunio de ustedes save como lo puedo hacer
es una base de datos access y el campo REC_FECHA_VEN es de tipo fecha corta (dd/mm/yyy) de antemano gracias
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #9 (permalink)  
Antiguo 27/03/2006, 15:47
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 3 meses
Puntos: 2
pero has puesto actual entre comillas.

DateAdd("d",-6,actual)
  #10 (permalink)  
Antiguo 27/03/2006, 15:50
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
esque anteriormente lo puce sin comillas y me daba este error

Error de compilación de Microsoft VBScript (0x800A03EE)
Se esperaba ')'
/PRUEBAS/Muestra/Alert/verde.asp, línea 7, columna 94
Set Registros1 =Conexion.Execute("SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= DateAdd("d",-6,actual)")
-----------------------------------

no se que onda
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #11 (permalink)  
Antiguo 27/03/2006, 15:55
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
tendra algo que ver que la fecha en mi bas de datos sea de tipo corta osea asi 30/6/2002 sin la hora
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #12 (permalink)  
Antiguo 27/03/2006, 15:58
Avatar de ElAprendiz  
Fecha de Ingreso: enero-2002
Ubicación: Maipu, Chile
Mensajes: 3.706
Antigüedad: 23 años, 3 meses
Puntos: 2
no creo
sacalo de la sentencia sql asi:

variable =DateAdd("d",-6,actual)
Set Registros1 =Conexion.Execute("SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= "&variable&"")
  #13 (permalink)  
Antiguo 27/03/2006, 16:05
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 19 años, 3 meses
Puntos: 1
Cita:
Iniciado por ElAprendiz
no creo
sacalo de la sentencia sql asi:

variable =DateAdd("d",-6,actual)
Set Registros1 =Conexion.Execute("SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= "&variable&"")
cualquiera que a trabajado con fechas y sabe comparar en una bd sabe que en realidad se maneja de la siguiente manera:

variable =DateAdd("d",-6,actual)
Set Registros1 =Conexion.Execute("SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= #"&variable&"# ")

ademas el formato de consulta es mes/dia/año. por ende tendrias que arreglar el formato de la variable. osea

variable =DateAdd("d",-6,actual)
a = split(variable,"/")
fechaingles = formatdate(a2&"/"&a1&"/"&a3)

Set Registros1 =Conexion.Execute("SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= #"&fechaingles&"# ")
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
  #14 (permalink)  
Antiguo 27/03/2006, 16:11
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
angelus esta bien pero yo no toy compararndo una variable toy comparando con el mismo campo con 6 dias menos REC_FECHA_VEN >= REC_FECHA_VEN -6
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #15 (permalink)  
Antiguo 27/03/2006, 16:14
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
por mas que intento no puedo ustedes an encontrado alguna solucion a mi problema si la tienen porfavor diganmela
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #16 (permalink)  
Antiguo 27/03/2006, 16:33
Avatar de a n g e l u s  
Fecha de Ingreso: enero-2006
Ubicación: Chile
Mensajes: 237
Antigüedad: 19 años, 3 meses
Puntos: 1
probaste la modificacion anterior
y que error te da ahora...
__________________
Atte,
A n g e l u s
Concepción - Chile
más vale respuestas bien pensadas, que 7000 post
  #17 (permalink)  
Antiguo 27/03/2006, 16:37
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
me da errorre que se espera fin de intruccion )' y verifico y esta todo en orden
bueno ahora me ire a mi casa y lo revisare eln el pc de mi casa mañana les cuento al parecer es este pc y es lo mas probable ya que ta mas infectado esta mas lento que un bolero y cuando inicia me aparecen como mil ventanas de error jajajaajaj me da paja formatearlo jajajaja manñana les cuento como me fue y si lo solucione les pondre la solucion chao y gracias por la dedicacion al tema
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #18 (permalink)  
Antiguo 28/03/2006, 07:41
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 19 años, 3 meses
Puntos: 8
solucionado

listo compadres ya solucione el problema eran dos cosas el pc de la pega y la falta de un Registros.MoveNext

en l bucle que me mostraba los valores de la tabla encontrados y la consulta sql la deje de esta forma


Set Registros = Server.CreateObject("ADODB.Recordset")
Sql = "SELECT * FROM TEMP_RECLAMOS WHERE REC_FECHA_VEN >= REC_FECHA_VEN -2"
Registros.Open Sql, Conexion


y funciona muy bien gracias a todos por sus respuestas y por ayudarme
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
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 14:32.