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

Que le pasa a esta SQL?

Estas en el tema de Que le pasa a esta SQL? en el foro de ASP Clásico en Foros del Web. Amigos, necesito ayuda con este código, a continuación posteo el código y el error que me tira: Lo que yo quiero hacer es que sume ...
  #1 (permalink)  
Antiguo 11/11/2004, 18:19
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 23 años, 1 mes
Puntos: 0
Que le pasa a esta SQL?

Amigos, necesito ayuda con este código, a continuación posteo el código y el error que me tira:

Lo que yo quiero hacer es que sume un campo determinado entre tal fecha y tal fecha (la fecha esta puesta en la base en un campo para ese fin), para decirle a la SQL desde que fecha a que fecha yo la ingreso en un formulario, y que devuelva su valor y que los ordene por codigo de usuario:
Ejemplo:
Codigo Usuario: 1 Total: 20
Codigo Usuario: 2 Total: 30

Codigo que me tira el error:
<%
Dim ObjDB
Dim ObjRS
Dim Sql

strConnection = "driver={Microsoft Access Driver (*.mdb)}; server=;uid=;pwd=;data source="
Set ObjDB = Server.CreateObject("ADODB.Connection")
ObjDB.Open strConnection


SELECT campo1,campo2,campo3 Sum(campo2) as total FROM Tabla WHERE campo3 BETWEEN '" & request.form("fecha_ini") & "' and '" & request.form("fecha_fin") & "'" ORDER BY campo1 DESC;
set RS = Conn.Execute(sql)


%>


<b><font color="#FF0000"><%=RS("campo1)</font></b>
<b><font color="#FF0000"><%=RS("total)</font></b>

El error que me tira es el siguiente:

Tipo de error:
Error de compilación de Microsoft VBScript (0x800A03FD)
Se esperaba 'Case'
archivo.asp, línea 23, columna 7
Este archivo es el que tiene el codigo de arriva, la columna 23 es la SQL y la linea 7 es entre el select y el sum.

No se a que se refiere con Se esperaba 'Case'.

Gracias anticipadas al que me de una mano con esto.

--------------------------------------------------------------------------
Quien es mas tonto el que pregunta o el que se queda con la duda por no preguntar.
  #2 (permalink)  
Antiguo 11/11/2004, 18:34
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
Un error muy tonto, pero de esos que desesperan ;)


SQL = "SELECT campo1,campo2,campo3 Sum(campo2) as total FROM Tabla WHERE campo3 BETWEEN '" & request.form("fecha_ini") & "' and '" & request.form("fecha_fin") & "'" ORDER BY campo1 DESC;"
__________________
...___...

Última edición por AlZuwaga; 11/11/2004 a las 18:36
  #3 (permalink)  
Antiguo 12/11/2004, 15:31
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 23 años, 1 mes
Puntos: 0
Tienes razón?

Amigo, tienes razón, es un error muy tonto como no me di cuenta, me faltaba eso.
Ya lo puse, pero me tira el siguiente error,
Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A01A8)
Se requiere un objeto: ''
en la linea 26 y la linea 26 es el set RS = Conn.Execute(sql)


Que puede ser.

Gracias anticipadas al que me de una mano.

--------------------------------------------------------------------------
Quien es mas tonto el que pregunta o el que se queda con la duda por no preguntar.
  #4 (permalink)  
Antiguo 12/11/2004, 15:53
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, había más errores ;)

Fijate que la conexión la tenés definida como ObjDB:

Set ObjDB = Server.CreateObject("ADODB.Connection")

Y luego, cuando instanciás el objeto récordset (RS), intentás ejecutar una conexión llamada Conn:


set RS = Conn.Execute(sql)


Lo correcto es...

set RS = ObjDB.Execute(sql)


Saludos
__________________
...___...
  #5 (permalink)  
Antiguo 13/11/2004, 16:36
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 23 años, 1 mes
Puntos: 0
Sigo con error?

Amigo tenias razón con lo del objeto era que lo había creado y llamaba a otro cuando ejecutaba la SQL.
Ahora no se que pasa porque en teoría tendría que andar, si esta todo bien, yo no encuentro ningún error.
Te paso el error a ver si tu o alguien se aviva de que le pasa a esto que me esta haciendo renegar como loco,

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta operador) en la expresión de consulta 'campo3 Sum(campo2)'.

Le pongo las comillas simple donde me dice y nada, yo no se que le pasa a esto.

Gracias anticipadas al que me de una mano con esto.

------------------------------------------------------------------------
Quien es mas tonto el que pregunta o el que se queda con la duda por no preguntar.
  #6 (permalink)  
Antiguo 14/11/2004, 00:03
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
'campo3 , Sum(campo2)'
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 12:09.