FoxPro/Visual FoxPro - Campos de Tablas

 
Vista:

Campos de Tablas

Publicado por Paquito (40 intervenciones) el 21/07/2005 21:13:36
Que tal AMigos, otra gran amolestia ojala alguien pudiese ayudarme, resulta que tengo 1 tabala con 49 Campos, pues bien tengo que realizar un proceso para verificar si del campo 9 al 49 existe algun valor, lo hice con 1 ciclo For y utilize el & pero solo funciona la primera pasada, la 2da ya me da error, y no se como resolverlo, si alguien pudiese ayudarme lo agradeceria mucho..

SELECT material
GO top
DO WHILE !EOF()
IF comicion>0
v_com=comicion
FOR a=10 TO FCOUNT()
v_campo=FIELD(a)
v_cam=v_campo
IF &v_cam>0 ******* LINEA QUE SOLO FUNCIONA LA 1RA VEZ.
SELECT tmp3
LOCATE FOR tmp3.area=material.&v_cam
IF FOUND()
SUM tmp3.importe FOR tmp3.area=vv_area TO v_hon
v_honorarios=v_honorarios+(v_hon*(v_com/100))
v_hon=0
ENDIF
endif
ENDfor
SELECT honorarios
APPEND BLANK
replace concepto WITH material->descrip
replace importe WITH v_honorarios
v_honorarios=0
skip
ENDIF
SELECT material
skip
ENDDO

Este es mi codigo Pero en la linea donde tengo el & solo funciona la 1ra. vez que entro al ciclo despues la variable que se supone que almacena el nombre del Campo esta vacia y pues me genera error, si alguien supiese como y tuviera la gentileza le estaria muy agradecido..

Saludos

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

RE:Campos de Tablas

Publicado por saul (1 intervención) el 22/07/2005 01:22:31
Hola..
No quiero saber porque estas haciendolo así.. pero de antemano te digo que para sumar un detalle siempre tienes que usar una tabla encabezado yotra detalle..
pero fin..
el problema que tienes es este..

suerte si no te funciona mandame las tablas y te lo hago yo..
bye

SELECT material
GO top
DO WHILE !EOF()
IF comicion>0
v_com=comicion
FOR a=10 TO FCOUNT()
SELECT material &&& que se supone que de aqui estas sacando los fields.
v_campo=FIELD(a)
v_cam=v_campo
IF &v_cam>0 ******* LINEA QUE SOLO FUNCIONA LA 1RA VEZ.
SELECT tmp3
LOCATE FOR tmp3.area=material.&v_cam
IF FOUND()
SUM tmp3.importe FOR tmp3.area=vv_area TO v_hon
v_honorarios=v_honorarios+(v_hon*(v_com/100))
v_hon=0
ENDIF
endif
*** aqui retornas y reportas con otra tabla.. (esta mal)
ENDfor
SELECT honorarios
APPEND BLANK
replace concepto WITH material->descrip
replace importe WITH v_honorarios
v_honorarios=0
skip && esto no va.. no te interesa al final porque se supone que estas siempre en el ultimo registro con APPEND BLANK
ENDIF
SELECT material
skip
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:Campos de Tablas

Publicado por Paquito (40 intervenciones) el 23/07/2005 16:48:00
AMigo SAul, muchas gracias revise tú respuesta y todo salio bien, Muchisimas gracias según me pude dar cuenta mi error estaba en no volver a esc ribir la tabal dentro del Ciclo,,

Muchisimas 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