La Web del Programador: Comunidad de Programadores
 
    Pregunta:  50995 - CONSULTA EN UNA TABLA MEDIANTE EL CONTENIDO DE UNA VARIABLE
Autor:  Daniel Riveros
Hola tengo un pequeño problema con variable
en unas variables tengo almacenado el nombre de unatabla y el campo
EJM VARIABLE1=TABLA.NOMCAMPO
VARIABLE2=TABLA2.NOMCAMPO2

intento utilizar un locate para la consulta ya que no puedo utilizar el nombre de la tabla ni del campo directamente porque es una importacion donde el nombre de la tabla puede ser cualquiera y los campos de las tablas los relaciono y almaceno en varibles
el problema esta cuando hago la consulta
LOCATE FOR VARIABLE1=VARIABLE2
si lo utilizo asi me toma el contenido de las variables y compara tabla.nomcampo=tabla2.nomcampo intente cambiando
VARIABLE1=\"&\"+TABLA.NOMCAMPO
VARIABLE2=\"&\"+TABLA2.NOMCAMPO2
PARA VER SI TOMAVA EL VALOR DENTRO DE TABLA.NOMCAMPO Y NO TOMARA TABLA.NOMCAMPO COMO EL CONTENIDO

lo que quiero decir es necesito que compara el contenido de la base de datos; la informacion y no que tome el contenido de la variable como si eso fuera lo que tuviera que comparar

si hay alguna forma de hacer esta consulta por favor necesito que me ayuden Gracias

  Respuesta:  MARVIN CALLEJAS
Tú solución se encuentra en la función de vfp:EVALUATE()
Esta función es similar a cada función de FoxPro y cada comando más eficaz. EVALUATE() se puede utilizar para devolver en alguna parte los valores de expresiones en el código excepto cuándo son expresiones de nombre see anterior necesario. Esta función normalmente se utiliza para recuperar que ordena, que filtra o que consulta información del usuario en tiempo de ejecución como se muestra en el ejemplo siguiente: cCondition="CNO='A'"
@ 2,2 SAY "Type filter condition for appending records or hit <ENTER>:";
GET cCondition VALID CHECK()
READ
USE customer
APPEND FROM customer FOR EVALUATE(cCondition)

FUNCTION CHECK
* Validation code for expressions typed
RETURN .t. && or .f.