
Recorrer las filas de una tabla...
Publicado por neo (1604 intervenciones) el 29/10/2007 20:49:31
Se puede realizar una rutina que recorra fila por fila en una tabla1 y en tabla2 donde sea la misma clave haga una suma de los datos?? ejemplo:
Tabla 1:
ID Tablero
1 TF-01
2 TF-02
3 TF-03
Tabla 2:
TABLERO EQUIPO SUM1 SUM2 SUM3
TF-01 Equipo1 10 5 5
TF-01 Equipo2 10 2 10
TF-01 Equipo3 15 10 5
TF-02 SubEquipo1 0 0 0
TF-02 SubEquipo2 0 5 5
TF-02 SubEquipo3 10 10 15
TF-02 SubEquipo4 5 5 8
TF-03 Equipo A1 20 2 3
Entonces lo que deseo es que busque desde la primera fila de tabla1 y la relacione con tablero de la tabla 2, haga una consulta sql (como un filtro) y que sume los datos del tablero (Ejemplo TF-01: sum1=35, sum2=17 sum3=20)
Hasta Aquí todo bien, el problema es que quiero que de forma automática en la tabla 1 pase a la siguiente fila. Pero de preferencia la rutina lo deseo en un prg para que al iniciar el sistema haga este calculo de forma automatica.
Gracias►
Espero me haya explicado, aqui les dejo el codigo que llevo:
Rutina.prg:
SET EXACT ON
SET OPTIMIZE ON
OPEN DATABASE bd.dbc
SELECT 1
USE tableros_encab
SELECT 2
USE Espacios_tableros
SELECT 1
Skip=2
var1=tableros
PROCEDURE suma
SELECT Aa, Ab, Ac FROM Espacios_Tableros WHERE UPPER(ALLTRIM(tableros))=UPPER(ALLTRIM(var1 )) INTO CURSOR my_cursor
BROWSE
*SELECT 2
*SUM Aa, Ab, Ac TO sum1, sum2, sum3 FOR ALLTRIM(Tableros)=ALLTRIM(my_cursor.tableros)
*CLEAR
*SELECT 1
*LOCATE FOR UPPER(ALLTRIM(tableros))=UPPER(ALLTRIM(var1))
*replace tot1 WITH sum1
*replace tot2 WITH sum2
*replace tot3 WITH sum3
ENDPROC
Tabla 1:
ID Tablero
1 TF-01
2 TF-02
3 TF-03
Tabla 2:
TABLERO EQUIPO SUM1 SUM2 SUM3
TF-01 Equipo1 10 5 5
TF-01 Equipo2 10 2 10
TF-01 Equipo3 15 10 5
TF-02 SubEquipo1 0 0 0
TF-02 SubEquipo2 0 5 5
TF-02 SubEquipo3 10 10 15
TF-02 SubEquipo4 5 5 8
TF-03 Equipo A1 20 2 3
Entonces lo que deseo es que busque desde la primera fila de tabla1 y la relacione con tablero de la tabla 2, haga una consulta sql (como un filtro) y que sume los datos del tablero (Ejemplo TF-01: sum1=35, sum2=17 sum3=20)
Hasta Aquí todo bien, el problema es que quiero que de forma automática en la tabla 1 pase a la siguiente fila. Pero de preferencia la rutina lo deseo en un prg para que al iniciar el sistema haga este calculo de forma automatica.
Gracias►
Espero me haya explicado, aqui les dejo el codigo que llevo:
Rutina.prg:
SET EXACT ON
SET OPTIMIZE ON
OPEN DATABASE bd.dbc
SELECT 1
USE tableros_encab
SELECT 2
USE Espacios_tableros
SELECT 1
Skip=2
var1=tableros
PROCEDURE suma
SELECT Aa, Ab, Ac FROM Espacios_Tableros WHERE UPPER(ALLTRIM(tableros))=UPPER(ALLTRIM(var1 )) INTO CURSOR my_cursor
BROWSE
*SELECT 2
*SUM Aa, Ab, Ac TO sum1, sum2, sum3 FOR ALLTRIM(Tableros)=ALLTRIM(my_cursor.tableros)
*CLEAR
*SELECT 1
*LOCATE FOR UPPER(ALLTRIM(tableros))=UPPER(ALLTRIM(var1))
*replace tot1 WITH sum1
*replace tot2 WITH sum2
*replace tot3 WITH sum3
ENDPROC
Valora esta pregunta


0