Tabla dinámica

Como puedo realizar mediante código una tabla dinámica estilo excel
es decir tengo una tabla que tiene los sig. Campos
Canal
Ficha
Importe
Ademas de otros datos
Pero necesito generar una tabla estilo referencias cruzadas(tabla dinámica)
Y no se como hacerlo en fox, lo he hecho con el ayudante de fox y resulta pero quisiera realizarlo de otra forma.

1 respuesta

Respuesta
1
Crea un botón y en el evento Click del mismo ejecuta el siguiente código:
Supone que tu tabla se llama TABLA1:
CREATE CURSOR CURTAB(CANAL N(2), FICHA_A C(1), FICHA_B C(1), FICHA_C C(1), TOTAL N(10,2))
SELECT * FROM TABLA1 ORDER BY CANAL INTO CURSOR CURAUX
SELECT CURAUX
GO TOP
DO WHILE NOT EOF()
_CANAL=CANAL
STORE 0 TO _CANTA,_CANTB,_CANTC
DO WHILE CANAL=_CANAL AND NOT EOF()
DO CASE
CASE FICHA='A'
_CANTA=_CANTA+IMPORTE
CASE FICHA='B'
_CANTB=_CANTB+IMPORTE
CASE FICHA='C'
_CANTC=_CANTC+IMPORTE
ENDCASE
SKIP
ENDDO
SELECT CURTAB
APPEND BLANK
REPLACE CANAL WITH _CANAL
REPLACE FICHA_A WITH _CANA
REPLACE FICHA_B WITH _CANB
REPLACE FICHA_C WITH _CANC
REPLACE TOTAL WITH _CANA+_CANB+_CANC
SELECT CURAUX
ENDDO
RELEASE CURAUX
SELECT CURTAB
BROWSE NORMAL
EXPORT TO C:TABLA.XLS TYPE XLS
Release curtab
Este procedimiento te crea una tabla de memoria (CURTAB) con el resultado que esperas.
Luego se genera un archivo Excel que se graba en "C:" con el nombre "tabla.xls".
Cualquier duda me consultas.
Experto mi tabla contiene datos similares a los siguientes
Canal Ficha Importe
1.00 a 100.00
1.00 a 150.00
1.00 c 200.00
2.00 a 50.00
3.00 a 150.00
3.00 c 500.00
4.00 d 300.00
4.00 d 200.00
5.00 a 100.00
Así seria la tabla que tendría que generar en base a la tabla arriba mencionada
Canal a c d Total
1 250 200 450.00
2 50 50.00
3 150 500 650.00
4 500 500.00
5 100 100.00
En espera de tu grandiosa asesoría
No he entendido muy bien tu pregunta.
Dime un ejemplo de lo que quieres hacer con la tabla
Experto:
Los hice de la forma que me aconsejaste y funciona, pero tengo otra duda habría la forma de hacerse más automático es decir que automáticamente detecte por el campo llamado ficha tantas claves encuentre y se genere la tabla en base a ese campo sin tener que estar creando la tabla y poner el do case. Algo similar al asistente para referencias cruzadas del fox.
Gracias
Lamento no poder ayudarte... hasta aquí llego, no se como se puede hacer más dinámico.
Fernando Alvarez

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas