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
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
0