FoxPro/Visual FoxPro - Y Sigo con el problema...

 
Vista:
sin imagen de perfil

Y Sigo con el problema...

Publicado por neo (1604 intervenciones) el 01/11/2007 19:18:52
Me sale un error : Error de Anidamiento

Ahi va el codigo en un boton:

OPEN DATABASE bd.dbc
SELECT 1
USE tableros_encab

SELECT 2
USE Espacios_tablero

SELECT 1
GO TOP

DO WHILE ! Eof()

LOCAL Var1, num
var1=tableros

num=1
IF num=1
SELECT Tableros, Aa, Ab, Ac FROM Espacios_Tableros WHERE UPPER(ALLTRIM(tableros))=UPPER(ALLTRIM(var1 )) INTO CURSOR my_cursor

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
****tu codigo
SKIP && pasa al siguiente registro
ENDDO

Gracias
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:Perdon, se me pasó...

Publicado por neo (1604 intervenciones) el 01/11/2007 19:37:34
Si era eso...gracias...ya funciona bien; Aunque te he de decir que cuando ejecuto el prg con ese codigo el ratón empieza a parpadear como unos 5 segundos...

A qué se debe??

Gracias►
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:Perdon, se me pasó...

Publicado por neo (1604 intervenciones) el 01/11/2007 19:38:14
Si era eso...gracias...ya funciona bien; Aunque te he de decir que cuando ejecuto el prg con ese codigo el ratón empieza a parpadear como unos 5 segundos...

A qué se debe??

Gracias►
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:Perdon, se me pasó...

Publicado por Plinio (7841 intervenciones) el 01/11/2007 19:39:23
Estas trabajando con muchos datos?
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:Parpadeo de mouse...

Publicado por neo (1604 intervenciones) el 01/11/2007 19:46:11
En la primera tabla (encabezados) son como: 129

y en la Segunda Tabla (Detalles) son como: 5000

Porque??
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:Parpadeo de mouse...

Publicado por Plinio (7841 intervenciones) el 01/11/2007 19:51:37
El palpadeo puede venir por esa razon. El locate de por si es lento ya que no usa indices.
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:Parpadeo de mouse...

Publicado por neo (1604 intervenciones) el 01/11/2007 20:03:46
Entonces para cambiar el Locate por Seek...como seria??

Asi??:

SELECT tableros_encab
SET ORDER TO tableros
SEEK tableros=var1
replace tot1 WITH sum1
replace tot2 WITH sum2
replace tot3 WITH sum3

Porque me dice "No coinciden los tipos d eDatos"

Gracias
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:Parpadeo de mouse...

Publicado por Plinio (7841 intervenciones) el 01/11/2007 20:32:45
No.
Mejor pon este codigo de esta manera
*************Tu codigo **********
SELECT 1
LOCATE FOR UPPER(ALLTRIM(tableros))=UPPER(ALLTRIM(var1))
replace tot1 WITH sum1
replace tot2 WITH sum2
replace tot3 WITH sum3

**********Otra manera
replace tot1 WITH sum1, tot2 WITH sum2, tot3 WITH sum3 for UPPER(ALLTRIM(tableros))==UPPER(ALLTRIM(var1))
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:Ya quedo listo...

Publicado por neo (1604 intervenciones) el 02/11/2007 15:07:22
Ya quedó listo, gracias compañeros
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:Perdon, se me pasó...

Publicado por Ernesto Hernandez (4623 intervenciones) el 02/11/2007 03:09:09
estas ejecutando el .PRG o estas poniendo el codigo en el evento click del boton ?
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:Ejecuto el codigo en el prg..

Publicado por neo (1604 intervenciones) el 02/11/2007 14:51:19
Lo del botón era por un último recurso, ya que ahí en el form existe el timer... pero con el do while solucione lo de pasa fila por fila en la tabla...el problema que tengo es un parpadeo de 5 segundos me imagino por las sumas, entonces Plinio me dijo que se debía por el "Locate"....

Tu qué me recomiendas??

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:Ejecuto el codigo en el prg..

Publicado por Ernesto Hernandez (4623 intervenciones) el 03/11/2007 03:06:56
puedes utilizar un SEEk y podria ser un poco mas rapido ....

ya probaste creando un procedimiento en la forma en lugar de mandar a llamar el PRG
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:Y Sigo con el problema...

Publicado por Plinio (7841 intervenciones) el 01/11/2007 19:26:51
El problema te lo esta dando el IF que no lo estas cerrando (no tiene ENDIF)
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