Clipper/FiveWin - subtotales

 
Vista:

subtotales

Publicado por martina (3 intervenciones) el 25/02/2008 14:22:11
Hola Aun trabajo en clipper 5.2 ojala me puedan ayudar

tengo una tabla dbf de nombre clientes
con las siguientes columnas:tiene codigo, nombre, rut, total

ej.

codigo 1 tiene los siguientes valores 12.000+ 500+300
codigo 2 tiene los siguientes valores 7500+8900
codigo 3 tiene los siguientes valores 5000+3000+2500+6700

lo que quiero hacer es que me de subtotales y totales ej.

codigo total
--------- -------
1 12.800
saltar un espacio
2 16.400
saltar un espacio
3 17.200

que vaya entregando todos los totales por cada codigo y al final entregar un total general
ojala alquien todavia trabaje en clipper y me pueda ayudar

saludos a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:subtotales

Publicado por Antoni Masana (168 intervenciones) el 25/02/2008 16:41:23
Haber, esto es una de las practicas de primero, ya no deberia de ser un problema.

Bucle
Lees
acumulas
cuando cambie el codigo imprimes
Fin Bucle
al salir del bucle imprimes el ultimo codigo y el total

Intentalo escribir en codigo y ya contaras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:subtotales

Publicado por Pedro (38 intervenciones) el 25/02/2008 18:09:11
Si lo que quieres es recorrer esa tabla e ir acumulando los registros que tenga cada uno de los códigos de clientes, es fácil

Abrir la tabla (si no está abierta ya)
ir al inicio de la tabla

nCodigo := TABLA->codigo (variable auxiliar para que contenga el código sobre el que vamos acumulando y que nos servirá para el cambio de código)

While .t. (Bucle principal)
While nCodigo = TABLA->codigo (bucle secundario, para acumular)
nAcumuladorParcial += TABLA->total (acumulamos)
TABLA->(dbSkip()) (saltamos un registro)
EndDo
Cuando nCodigo y TABLA->codigo sean diferentes llegarás aqui
SI has guardado el campo nombre,(y los que necesites para la linea de
impresión) envías a imprimir nCodigo, los datos que necesites y
nAcumuladorParcial.

Hacemos un Acumulador total
nAcumuladortotal += nAcumuladorParcial
Ponemos a cero el parcial
nAcumuladorParcial := 0
Si hemos llegado al final de la tabla
vamos a imprimer el total, enviando el nAcumuladorTotal
y salimos del bucle
Si no
Como estamos en un registro cuyo codigo es diferente, hacemos que
nCodigo tome ese nuevo valor
nCodigo := TABLA->codigo y volvemos a empezar de nuevo el bucle
secundario
EndDo

Espero que te sirva
Un saludo
Pedro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:subtotales

Publicado por Adalberto Baqueros (213 intervenciones) el 26/02/2008 14:00:08
Hola Martina,

Como te habrás dado cuenta todavía habemos muchos que programamos con clipper, que tantas glorias y satisfacciones nos ha dado, y lo más importante es que estamos contentos de poder colaborarnos.

Pepe te dió un ejemplo detallado que con seguridad aporta solución a lo que buscabas.

Ante la duda, por favor recurre a este foro y también cuenta conmigo.

Saludos, desde Santa Cruz de la Sierra - Bolivia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:subtotales

Publicado por Martina (3 intervenciones) el 27/02/2008 13:06:31
Gracias a todos los que contestaron. a lo menor mi pregunta era basica, pero he tratado de hacerlo montones de veces y no me habia resultado.

Saludos desde Chile

Martina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar