FoxPro/Visual FoxPro - Recorrer las filas de una tabla...

 
Vista:
sin imagen de perfil

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
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
sin imagen de perfil

RE:Recorrer las filas de una tabla...

Publicado por Ernesto Hernandez (4623 intervenciones) el 29/10/2007 21:00:02
usa un DO - WHILE para barrer toda la tabla
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:Recorrer las filas de una tabla...

Publicado por Plinio (7841 intervenciones) el 29/10/2007 23:37:26
SELECT sum(campo) as Suma FROM tabla1 WHERE codigo IN (select codigo FROM tabla2)

Algo asi
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
sin imagen de perfil

RE:Recorrer las filas de una tabla...

Publicado por neo (1604 intervenciones) el 30/10/2007 16:22:35
Creo que si...pero.....como haria que se pasase automáticamente a la fila siguiente de la tabla y vuelva a ejecutar el codigo??

Gracias Amigo...

Nota:
Si es algo complicado, puedo hacer que el usuario entre a un formulario y presione un boton y haga el codigo y ya ahí respaldado por un "timer" que ejecute el codigo y una vez que termine con una fila, vuelva a ejecutar el mismo codigo pero en la siguiente fila.

EL PROBLEMA ES QUE NO SE COMO HACER QUE CAMBIE DE FILA, HAZ DE CUENTA COMO SI ESTUVIERA UNA MANO INVISIBLE Y LE DE UN CLICK EN UN BOTON SIGUIENTE Y PASE A LA SIGUIENTE FILA.

Gracias de nuevo amigo Plinio!!

Suerte►

PD: Con este favor ya te deberé 2 Tequilas mexicanos

Buen dia
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
sin imagen de perfil

RE:Recorrer las filas de una tabla...

Publicado por Ernesto Hernandez (4623 intervenciones) el 30/10/2007 17:15:36
por que no pones el codigo de lo que deseas hacer en un procedimiento y lo llamas mientras barres la tabla y esto lo pones en el click del boton que vas a crear

DO WHILE !EOF()
ThisForm.MiProceso
ENDDO
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
sin imagen de perfil

RE:Recorrer las filas de una tabla...

Publicado por neo (1604 intervenciones) el 30/10/2007 17:41:41
Ok...pero como hago para que el proceso siga con la siguiente fila.??

Propones que el usuario haga click unas 150 veces??

Gracias►

Perdón por no entender....
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
sin imagen de perfil

RE:Recorrer las filas de una tabla...

Publicado por Ernesto Hernandez (4623 intervenciones) el 30/10/2007 17:56:10
ah ok perdon

USE MiTabla IN 0 ALIAS aAlias

DO WHILE !EOF()
This.Miproceso
SKIP IN "aAlias"
ENDDO
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:Recorrer las filas de una tabla...

Publicado por Elsa Perez (2 intervenciones) el 23/02/2009 00:27:03
cuantas filas y columnas tiene visual fox pro?
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:Recorrer las filas de una tabla...

Publicado por Elsa Perez (2 intervenciones) el 23/02/2009 00:27:33
cuantas filas y columnas tiene visual fox pro?
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