Hola Amigos
Necesito totalizar una tabla ya ordenada por un campo fecha que tiene el nombre "DIA", el tema es que la cantidad de campos numericos que deseo totalizar es variable, pueden ser varias columnas llamadas "CANTIDAD_X" ejemplo: FIELDS CANTIDAD_A, CANTIDAD_B, CANTIDAD_C, CANTIDAD_D........, entonces esto lo defino con una Array aCampos:={"CANTIDAD_A","CANTIDAD_B", "CANTIDAD_C", "CANTIDAD_D"} de la siguiente forma NO funciona:
TOTAL TO &cFile ON DIA FIELDS aCampos
TOTAL TO &cFile ON DIA FIELDS &aCampos
TOTAL TO &cFile ON DIA FIELDS &aCampos.
Unicamente funciona asi:
TOTAL TO &cFile ON DIA FIELDS CANTIDAD_A,CANTIDAD_B, CANTIDAD_C, CANTIDAD_D
Me da el resultado que espero, la suma de CANTIDAD_X por DIA, una linea por dia.
dia 1: 25 10 10 3
dia 2: 10 10 15 3
dia 3: 40 20 15 3
dia 4: 25 10 20 3
Pero como la cantidad de campos es variable, cuando no existe uno de los "CANTIDAD_X" me da error
entonces encontre lo siguiente:
__dbtotal(cFile,"DIA",aCampos )
probe tambien
__dbtotal(cFile,DIA,aCampos )
__dbtotal(cFile,"DIA",aCampos )
__dbtotal(cFile,"FIELDNAME->DIA",aCampos )
__dbtotal(cFile,FIELDNAME->DIA,aCampos )
cKey:="DIA"
__dbtotal(cFile,cKey,aCampos )
__dbtotal(cFile,&cKey,aCampos )
__dbtotal(cFile,&cKey.,aCampos )
y me da un resultado inesperado, las columnas de aCampos totalizadas pero todo agrupado en el primer DIA, una sola linea
dia 1: 100 50 60 12
Mi pregunta es:
Como puedo darle parametros al comando SET TOTAL o cual es la sintaxis correcta de __DbTotal()
Gracias
TOTALIZAR UNA TABLA
TOTALIZAR UNA TABLA
Luis Ponce
Re: TOTALIZAR UNA TABLA
Talvez:
https://groups.google.com/forum/#!msg/h ... rK-4iMukcJ
https://github.com/harbour/core/blob/ma ... btotal.prg
https://groups.google.com/forum/#!msg/h ... rK-4iMukcJ
https://github.com/harbour/core/blob/ma ... btotal.prg
João Santos - São Paulo - Brasil
Re: TOTALIZAR UNA TABLA
Luis puedes publicar la estructura de la dbf donde guardas la información?
______________________________________________________________________________
Sevilla - Andalucía
Sevilla - Andalucía
Re: TOTALIZAR UNA TABLA
Gracias Karinha, Gracias Manuel
En realidad es una estructura variable, la base es esta:
CARGO,Carácter,2
TIKET,Carácter,11
DIA,Fecha,8
CANTIDAD,Númerico,12,4
IMPORTE,Númerico,12,2
BSEIMP,Númerico,12,2
IGV,Númerico,12,2
TURNO,Carácter,1
a esta estructura, antes de ser creada la tabla, agrego _
CANTIDAD_A,Númerico,12,4
CANTIDAD_B,Númerico,12,4
CANTIDAD_C,Númerico,12,4
OTROS,Númerico,12,4
dependiendo del tipo de producto vendido
es por eso que _ a totalizar puede ser uno o varios (CANTIDAD_A,CANTIDAD_B....)
con el comando TOTAL ON ..... no puedo hacerlo, pero al parecer con el __DbTotal() si es posible, x que puedo pasarle parametros.
En realidad es una estructura variable, la base es esta:
CARGO,Carácter,2
TIKET,Carácter,11
DIA,Fecha,8
CANTIDAD,Númerico,12,4
IMPORTE,Númerico,12,2
BSEIMP,Númerico,12,2
IGV,Númerico,12,2
TURNO,Carácter,1
a esta estructura, antes de ser creada la tabla, agrego _
CANTIDAD_A,Númerico,12,4
CANTIDAD_B,Númerico,12,4
CANTIDAD_C,Númerico,12,4
OTROS,Númerico,12,4
dependiendo del tipo de producto vendido
es por eso que _ a totalizar puede ser uno o varios (CANTIDAD_A,CANTIDAD_B....)
con el comando TOTAL ON ..... no puedo hacerlo, pero al parecer con el __DbTotal() si es posible, x que puedo pasarle parametros.
Luis Ponce
Re: TOTALIZAR UNA TABLA
Gracias por los los aportes.
Encontré la solución y la comparto:
__dbtotal(cFile,ArchivoOrdenado->(FIELDNAME(3)),aCampos )
Tomé el campo "DIA", señalando el área y por su posición en la estructura, y Funciono!!!!
Obtuve el resultado que esperaba.
dia 1: 25 10 10 3
dia 2: 10 10 15 3
dia 3: 40 20 15 3
dia 4: 25 10 20 3
TOTAL: 100 50 60 12
Encontré la solución y la comparto:
__dbtotal(cFile,ArchivoOrdenado->(FIELDNAME(3)),aCampos )
Tomé el campo "DIA", señalando el área y por su posición en la estructura, y Funciono!!!!
Obtuve el resultado que esperaba.
dia 1: 25 10 10 3
dia 2: 10 10 15 3
dia 3: 40 20 15 3
dia 4: 25 10 20 3
TOTAL: 100 50 60 12
Luis Ponce