Visual Basic - Algoritmo... Solo para Bravos

Life is soft - evento anual de software empresarial
 
Vista:

Algoritmo... Solo para Bravos

Publicado por Roberto Alexander (2 intervenciones) el 28/08/2003 18:26:50
Tabla: t_item

codigo cantidad
A001 -10
A001 -20
A001 100
A001 180
A001 -80
A001 -90
A001 100
A001 -100
A001 -100
A001 40
A001 -10
A001 -10
A001 -10
A001 15
A001 20

Cuando se imprima se va hacer de 5 en 5(registros) quedando de esta
manera.
1ER REPORTE
codigo cantidad
A001 -10
A001 -20
A001 100
A001 180
A001 -80
TOTAL-------------> 170

2DO REPORTE
codigo cantidad
A001 -90
A001 100
A001 -100
A001 -100
A001 40
TOTAL-------------> -150

3ER REPORTE
codigo cantidad
A001 -10
A001 -10
A001 -10
A001 15
A001 20
TOTAL-------------> 5

La idea es que ningun total sea negativo, partiendo de que todos los
registros estan en una sola tabla y que seran dividios en varios
reportes y ninguno de estos su total debe ser negativo y si lo es jugar con los registros hasa que todos los totales sean positivos??
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:Algoritmo... Solo para Bravos

Publicado por Eini Trujillo (4 intervenciones) el 29/08/2003 17:50:00
Pana, una pregunta donde estas mostrando este reporte un un FlexGrid o en un reporte de Crystal, Datareport, etc. Si es para mostrarlo en un flexgrid. Un forma media caimana pero puede servir la tabla t_item en dos tablas una para los negativos (ordenados de forma desc) y otra para los positivos (ordenados de forma asc). (>><Verificas si la suma de los negativos es mayor que la de los positivos no es posible<<<). Luego. Para cada 5 registros tomas un num neg. y uno pos. y los sumas si el resultado es positivo tomas otro num. neg sino tomas uno pos asi sucesivamente. A medida que vas utilizando un número lo eliminas. >>> Tienes que verificar que uno de los negativos no se mayor a la suma de cualquiera de los 4 mayores numeros negativos. Ejempo : -1000 y los cuatro números mayores son 40,30,10,10 es imposible <<<
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