FoxPro/Visual FoxPro - Como usar CURVAL(FIELDS(.......))

 
Vista:
Imágen de perfil de Sebastian Mena

Como usar CURVAL(FIELDS(.......))

Publicado por Sebastian Mena (11 intervenciones) el 30/07/2010 00:29:30
Estimados:
Necesito recuperar el valor de un campo, que viene de una tabla a traves de una funcion, me explico voy a resumir

PROGRAMA-1
TaBlaDif = "FamSubDif" -----> Tablas .dbf
TaBlaPDA = "FamPDA"
EnivaTablas(TablaDif, TablaPDA)

Programa
FUNCTION EnivaTablas(TablaDif, TablaPDA)
*-----------------------------------------------------------------------------------------
numcampos = FCOUNT('&TaBlaPDA')
FOR i = 1 TO numcampos
campodi = Fields(i,"&TablaDif") -----> Nombre del campo, ejemplo: Nomnre
campoPD = CURVAL(FIELDS(i, "TablaPDA"), "TablaPDA") ----> Rescatar Valor: Maria
replace &campodi WITH &campoPD
ENDFOR

Una tabla que tiene muchos campos, es para evitar repetir el replace, por eso esta el for
Me extrae bien en nombre del campo:

Nombre = campodi = Fields(i,"&TablaDif") Pero;

el Valor de la otra tabla: TablaPDA, me arroja error :
campoPD = CURVAL(FIELDS(i, "TablaPDA"), "TablaPDA")
Lo coloque & &TablaPDA &TablaPDA
Probe con todo, ayudenme please, gracias, atte.
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:Como usar CURVAL(FIELDS(.......))

Publicado por Juanma Cruz (512 intervenciones) el 02/08/2010 11:00:15
¿Has probado con Evaluate() o con macrosustitución?
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
Imágen de perfil de Javier

RE:Como usar CURVAL(FIELDS(.......))

Publicado por Javier (22 intervenciones) el 02/08/2010 16:32:13
Hola, probá así:

FOR i = 1 TO numcampos

campodi = Tabladif + "." + Fields(i, TablaDif )

campoPD = TablaPDA + "." + Fields(i, TablaPDA )

replace &campodi WITH &campoPD

ENDFOR

Y si los campos de ambas tablas tiene el mismo nombre:

FOR i = 1 TO numcampos

CampoName = Tabladif + "." + Fields(i, TablaDif )

CampoOrigen = Tabladif + "." + CampoName

CampoDestino = TablaPDA + "." + CampoName

replace &CampoDestino WITH &CampoOrigen

ENDFOR

Saludos
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