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

agrupar repetidos mostrar results de suma abajo

Estas en el tema de agrupar repetidos mostrar results de suma abajo en el foro de ASP Clásico en Foros del Web. Hola, ya habia colocado antes este mensaje, me trataron de ayudar pero la verdad parece que no me supe explicar , mi problema radica en ...
  #1 (permalink)  
Antiguo 20/07/2002, 23:52
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 5 meses
Puntos: 4
agrupar repetidos mostrar results de suma abajo

Hola,

ya habia colocado antes este mensaje, me trataron de ayudar pero la verdad parece que no me supe explicar , mi problema radica en que no puedo ubicar los valores ni el total para la suma de las facturas y ubicarlas debajo de cada columna debajo de cada cliente.

Tengo una base de datos en Access, tengo varios campos como cliente, factura1, factura2, factura3

Lo que deseo hacer es agrupar esas facturas por cliente, osea que me aparezca solo una vez el nombre del cliente, pero debajo me aparezcan todas las facturas para ese cliente, osea:

el nombre del cliente se repite muchas veces, quiero que se muestre solo una vez, pero las facturas como son difentes, si que se muestren como se muestra abajo.

Código:
-------|--------|--------|--------|
cliente|factura1|factura2|factura3|
-------|--------|--------|--------|
juanc..|1000....|500.....|200.....|
.......|500.....|100.....|500.....|
.......|100.....|200.....|100.....|
-------|--------|--------|--------|
total..|1600....|800.....|800.....|
-------|--------|--------|--------|
carlos.|500.....|100.....|200.....|
-------|--------|--------|--------|
total..|500.....|100.....|200.....|
-------|--------|-----------------|


espero alguien me pueda ayudar,


<img src="http://www.lexus.com/images/nav/nav_i_logo.gif" width="109" height="47" alt="Lexus" border="0">
  #2 (permalink)  
Antiguo 21/07/2002, 05:56
 
Fecha de Ingreso: abril-2002
Ubicación: La Comarca
Mensajes: 192
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: agrupar repetidos mostrar results de suma abajo

Se trataria de que crearas una variable que va a ir guardando los diferentes nombres.

Como entiendo que esos datos los vas a poner en una tabla, la idea es la siguiente :

- Para cada fila, lo primero que haces es comprobar si el nombre de persona es igual al que tienes guardado en la variable.
* Si es igual, en la columna de nombre no escribiras nada. Por el contrario, si es diferente, en esa casilla escribiras el nuevo nombrre y actualizaras el contenido de la variable con el nuevo nombre encontrado.

Ejemplo :
En la bd tengo:
Nombre Cantidad
Juan 500
Pedro 1000
Juan 750

Cuando hago la consulta, tendre :

Nombre Cantidad
Juan 500
Juan 750
Pedro 1000

Ahora voy a pintar esas entradas que me devuelve la consulta :

temporal = &quot;&quot;;

while (sacar_fila &lt;&gt; se_han_acabado)
{
si (temporal &lt;&gt; sacado_fila(Nombre))
{
pinto_casilla (sacado_fila(Nombre));
temporal = sacado_fila(Nombre);
}
sino
{
pinto_casilla (vacio);
}
pinto_casilla(sacado_fila(Cantidad));
}

Y eso deberia devolvernos en pantalla :

Juan 500
750
Pedro 1000

Espero que fuera lo que preguntabas y te ayude a resolver tu duda. Sino, cualquier cosa escribeme el caso concreto y te hago el codigo.

Sauldos!!!!!
Ideafix.
  #3 (permalink)  
Antiguo 21/07/2002, 12:47
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 5 meses
Puntos: 4
Re: agrupar repetidos mostrar results de suma abajo

hola
gracias por tu colaboracion, pero eso no es lo que necesito, la verdad ya tengo diseñado un sistema para el ingreso de los datos y tengo una pagina donde se muestran los datos como esta en el mensaje, los muestra tal cual, el problema es que no he podido ubicar el resultado debajo de cada cliente osea los totales de la suma de cada fila..

quiero que me salga asi en la pagina:
Código:
-------|--------|--------|--------|
cliente|factura1|factura2|factura3|
-------|--------|--------|--------|
juanc..|1000....|500.....|200.....|
.......|500.....|100.....|500.....|
.......|100.....|200.....|100.....|
-------|--------|--------|--------|
total..|1600....|800.....|800.....|
-------|--------|--------|--------|
carlos.|500.....|100.....|200.....|
-------|--------|--------|--------|
total..|500.....|100.....|200.....|
-------|--------|-----------------|

ya me habian colaborado en un mensaje:

<a href='ir.asp?http://www.forosdelweb.com/mensaje.asp?id=87813' target='_blank'>http://www.forosdelweb.com/mensaje.asp?i...</a>

pero no pude ubicar los resultados, el codigo esta alli, si lo revisan y me echan una mano se los agradeceria


gracias por todo.

<img src="http://www.lexus.com/images/nav/nav_i_logo.gif" width="109" height="47" alt="Lexus" border="0">
  #4 (permalink)  
Antiguo 22/07/2002, 02:44
 
Fecha de Ingreso: abril-2002
Ubicación: La Comarca
Mensajes: 192
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: agrupar repetidos mostrar results de suma abajo

Ah! que lo que no puedes es mostrar los totales.

Bien.
Para ello, crea 3 variables (factura1,factura2,factura3) e inicnalizalas a 0 antes de empezar a pintar datos.
en cada fila que pintes suma el valor que estes mostrando a su variable correspondiente.
[ el de la fila 1 a factura1, etc...]

Y, donde compruebas si el nombre cambia (lo que hagas tu en el lugar de lo que te expuse yo anteriormente en la otra respuesta), cuando hayas de cambiar de nombre, previamente pinta una fila que ponga 'Total' y los valores de factura1, factura2 y factura3 y luego ponlos a 0 de nuevo.

Espero haberte podido ayudar esta vez, sino, revisre el codigo que me comentas a ver si veo donde puede estar el lapsus.

Saludos y suerte!!!
Ideafix.
  #5 (permalink)  
Antiguo 22/07/2002, 04:31
 
Fecha de Ingreso: abril-2002
Ubicación: La Comarca
Mensajes: 192
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: agrupar repetidos mostrar results de suma abajo

Sino una cosa.
Mandame el codigo asp a mi email y te lo arreglo sin problemas para que haga lo que pides.

Un saludo y para cualquier otra cosa ya sabes...

Ideafix.
[email protected]
  #6 (permalink)  
Antiguo 22/07/2002, 04:36
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 5 meses
Puntos: 17
Re: agrupar repetidos mostrar results de suma abajo

La consulta SQL sería:

SELECT * FROM tabla GROUP BY cliente

Esto te dara:

Pepito,15000,2000,30000,4000,50000
Juanito,2000,1000,4300,85000,3200
...

Joe Tawers,
<a href="http://www.ilimit.com/towers">http://www.ilimit.com/towers</a>
  #7 (permalink)  
Antiguo 24/07/2002, 01:40
 
Fecha de Ingreso: abril-2002
Ubicación: La Comarca
Mensajes: 192
Antigüedad: 22 años, 2 meses
Puntos: 0
Re: agrupar repetidos mostrar results de suma abajo


Hola.
Lexus. te mande al correo hace unos dias una posible solucion y aun no me has comentado si te funciono o no.

Un saludo.
Ideafix.
  #8 (permalink)  
Antiguo 05/09/2003, 12:12
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
aquí la solucion para este problema

NxSQL ="SELECT gastos, nombre FROM neox Order BY nombre"
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open NxSQL, oConn,3,1
%>
<table width="720" border="1" cellpadding="0" cellspacing="1">
<tr bgcolor="#FFFFFF">
<td width="50%">Nombre</td>
<td>Gastos</td>
</tr>
<%do while not Rs.eof%>
<tr bgcolor="#FFFFFF">
<%
if Nxx = "" Then
Nxx = Rs("nombre")
else
Nxx = Nxx
end if
%>
<%
if Nxx <> Rs("nombre") Then
%>
<tr bgcolor="#FFFFFF">
<td height="22"><div align="right"><b>Total= </div></td>
<td><b><%=total%> </td>
<%total = ""%>
</tr>
<%
else
end if
%>
<td height="22"><%=RS("nombre")%>
</td>
<td> <%=RS("gastos")%> </td>
<%
if total = "" Then
total = Rs("gastos")
else
valor = Rs("gastos")
total = CINT(total) + CINT(valor)
end If

Nxx = Rs("nombre")

Rs.movenext
loop
%>
<tr bgcolor="#FFFFFF">
<td height="22"><div align="right"><b>Total= </div></td>
<td><b><%=total%> </td>
<%total = ""%>

</table>
<%
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
%>

espero sea de aporte
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
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:36.