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

sumar despues de listado

Estas en el tema de sumar despues de listado en el foro de ASP Clásico en Foros del Web. Estimados, una nueva consulta estoy tratando de sumar valores obtenidos a traves de un formulario de busqueda. El tema es asi: a traves del formulario ...
  #1 (permalink)  
Antiguo 25/10/2007, 08:19
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
Pregunta sumar despues de listado

Estimados, una nueva consulta estoy tratando de sumar valores obtenidos a traves de un formulario de busqueda.
El tema es asi: a traves del formulario obtengo informacion vendedores, cantidad de ventas, productos, etc todos en un rango de fecha. estos datos los muestro en una tabla, que estan en dos tablas relacionadas
ahora bien, lo que necesito es que me sume los valores obtenidos de acuerdo a la peticion por ejemplo:
si se buscan las ventas de "pedro" en un rango de fechas seleccionado necesito que muestre todo lo anteriomente mencionado y me de el total segun sea el caso del resultado.
muestro mas o menos el codigo que tengo:

...hago la conexion etc etc ...

Temp="SELECT * FROM mibd INNER JOIN base2 ON mibd2.IDventa = mibd.ID Where fecha >= format('" & UCase(Request("fecha")) & "','dd/mm/yyyy')AND fecha <=format('" & UCase(Request("fech")) & "','dd/mm/yyyy') AND UCase(vendedor) like '%" & UCase(Request("vendedor")) & "%' order by "& UCase(Request("orden")) & ""
Tabla.Open Temp, Conexion
If Tabla.BOF And Tabla.EOF Then
%>
<% Else %>
<% While Not Tabla.EOF%>

y aca los listados
<%=Tabla.Fields("vendedor")%>
<%=Tabla.Fields("precio")%>
........



lo que queiro suamr es todos los resultados de ("precio") y que los muestre como total al final del listado, Total= sum("precio")
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #2 (permalink)  
Antiguo 25/10/2007, 11:00
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años, 5 meses
Puntos: 8
Re: sumar despues de listado

Que tal Cristian.

Declaras una variable, y ahí vas acumulando por cada iteración, por ejemplo:
Código:
...

Dim Total = 0 'Dentro de alguna sección de código .. antes del while

...

'y dentro del while
<%


Total = Total + ( Tabla.Fields("precio") *Tabla.Fields("cantidad")  )

%>

'Ya después de while 
Y el total es ...<%=Total %>
Así con cada variable que quieras sumar.


Saludos!
  #3 (permalink)  
Antiguo 25/10/2007, 17:40
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
Re: sumar despues de listado

bien, lo toma pero solo suma el primer obtenido yo necesito una manera de que sume todos los que apraezcan en el resutaldo de la busqueda, sean 1 10 o 20. se entiende?
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #4 (permalink)  
Antiguo 25/10/2007, 18:00
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: sumar despues de listado

Daniel00, se referia a que hicieras un procedimiento similar a este, independientemente que fuesen 200,000

Código PHP:
<%Temp="SELECT * FROM mibd INNER JOIN base2 ON mibd2.IDventa = mibd.ID"&_
    
"Where fecha >= format('" UCase(Request("fecha")) & "','dd/mm/yyyy')"&_
    
"AND fecha <=format('" UCase(Request("fech")) & "','dd/mm/yyyy')"&_
    
"AND UCase(vendedor) like '%" UCase(Request("vendedor")) & "%'"&_
    
" order by "UCase(Request("orden")) & ";"
Tabla.Open TempConexion

'Evaluamos que no se encontrara ningun error
If Err=0 then
    '
Encabezados
    
%><table><tr><th>Vendedor</th><th>Precio</th></tr><%
    
'Inicializamos el totalizador, para evitar conflictos con basura
    Totales=0
    while Tabla.EOF=False
        '
Rellenamos los datos
        
%><tr><th><%=Tabla.Fields("vendedor")%></th><td><%=Tabla.Fields("precio")%></td></tr><%
    
wend
    
'Mostramos el totalizador de los precios
    %><tr><th>Totales</th><th><%=Totales%></th></tr></table><%
else
    '
Mostramos el error y la consulta para diagnostico
    Response
.Write "Pequeño Error: SQL="Temp "<br/>Error: <br/>" Err
end 
if%> 
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 25/10/2007, 18:06
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: sumar despues de listado

aunque bueno, tambien considerando, puedes agregarle un alias a la suma dentro de la sentencia TEMP, y la despliegas al final

Código PHP:
<%Temp="SELECT * FROM mibd INNER JOIN base2 ON mibd2.IDventa = mibd.ID"&_
    
" Where fecha >= format('" UCase(Request("fecha")) & "','dd/mm/yyyy')"&_
    
" AND fecha <=format('" UCase(Request("fech")) & "','dd/mm/yyyy')"&_
    
" AND UCase(vendedor) like '%" UCase(Request("vendedor")) & "%'"&_
    
" AND sum(precio) as TotalesPrecio"&_
    
" order by "UCase(Request("orden")) & ";" 
y reportarias

Cita:
<%=TotalesPecio%>
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #6 (permalink)  
Antiguo 25/10/2007, 22:15
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
Re: sumar despues de listado

NO ME SALE: ESTOY CON EL CODIGO ASI PERO SIGUE SIN SUMAR SDOLO TOMAR EL LOGICO VALOR TOTALES=0 SI LE AGREGO TOTALES = 0 + RESULT.FIELDS (PRECIO) SOLO ME MUESTRA EL RESULTADO DE UNA SOLA, NO DEL TOTAL COMO LO NECESITO.

... CONEXION ETC ETC
Tabla.Open Temp, Conexion
If Err=0 then%>
<table><tr><th>Vendedor</th><th>Precio</th></tr>
<% 'Inicializamos el totalizador, para evitar conflictos con basura
Totales= 0
while Tabla.EOF=False
%>
<%=Tabla.Fields("vendedor")%> <%=Tabla.Fields("precio")%>
<% Tabla.MoveNext
wend
%>
Totales<th><%=Totales%></th>
<% else
'Mostramos el error y la consulta para diagnostico
Response.Write "Pequeño Error: SQL="& Temp & "<br/>Error: <br/>" & Err
end if%>

EN ESTE CASO ME MUESTRA EL LISTADO REQUERIDO PERO EL TOTAL ES = 0
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #7 (permalink)  
Antiguo 26/10/2007, 01:39
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: sumar despues de listado

Tanto el método de Shiryu () como el de daniel00 son válidos:

Código:
 Tabla.Open Temp, Conexion
If Err=0 then%>
<table><tr><th>Vendedor</th><th>Precio</th></tr>
<%    'Inicializamos el totalizador, para evitar conflictos con basura
    Totales= 0
    while Tabla.EOF=False
       %>
<%=Tabla.Fields("vendedor")%> <%=Tabla.Fields("precio")%>
<%   
       ' Evitamos valores nulos
       if isNumeric(Tabla.Fields("precio"))  then Totales = Totales + Tabla.Fields("precio")
       Tabla.MoveNext
 		wend 
 		%>
Totales<th><%=Totales%></th>
<% else
    'Mostramos el error y la consulta para diagnostico
    Response.Write "Pequeño Error: SQL="& Temp & "<br/>Error: <br/>" & Err
end if%>  

 

Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #8 (permalink)  
Antiguo 26/10/2007, 04:03
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
Re: sumar despues de listado

Si si resulto!!! muchas gracias esta parte que me pasate era la que soluciono le tema: if isNumeric(Tabla.Fields("precio")) then Totales = Totales + Tabla.Fields("precio")
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #9 (permalink)  
Antiguo 26/10/2007, 04:44
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: sumar despues de listado

Pues eso es que hay algún registro cuyo campo "precio" esta vacío o nulo o contiene valores no numéricos. Chequea ese campo en todos los registros y que la cantidad de Total sea realmente el total esperado.



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
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 04:03.