Los select de VFP me tienen anonadado

NuncaTaxi
09 de Enero del 2006
Señores.

Les comento que he trabajado en informix, oracle, mysql, postgresql, sqlanywhere, integra y otras varias bd mas o menos conocidas. Ahora bien, por cuestión de mejorar mis conocimientos encaré el aprendizaje del VFP en su versión 9 la cual me parece muy similar (en su funcionalidad) al power builder solo que la sintaxis que utiliza para su bd propietaria es un galimatías para mi. Por ejemplo no logro encontrar una modalidad de la clausula select para ingresar el resultado en el campo de un formulario ¿?. Sea el ejemplo :

SELECT tabla.nombre
FROM tabla
WHERE tabla.codigo = THISFORM.codigo.value

como hago para hacer llegar ese valor a un campo THISFORM.nombre.value ?

Desde ya muy agradecido por las respuestas.

Sls.
Hg.

gabrield
09 de Enero del 2006
Estimado colega:
En VFP el destino de una consulta puede enviarse a tres destinos:

1 - En pantalla, si no defines dónde enviar la consulta

2 - A un cursor (que en VFP significa Tabla Temporal), con "INTO CURSOR X"

3 - A un array (Matriz, que en fox, cada columna de una matriz puede ser de un tipo de datos diferente, de manera que se comporta de manera análoga a una tabla en ese sentido)

Para enviar el resultado a un control deberás dar un paso intermedio. Por ejemplo: (No olvides los "punto y comas" si la línea continúa abajo)

SELECT tabla.nombre;
FROM tabla;
WHERE tabla.codigo = THISFORM.codigo.value;
INTO ARRAY ar

THISFORM.nombre.value = ar

Saludos cordiales.
Gabriel Dameñov
www.gdmsargentina.com.ar

gabrield
09 de Enero del 2006
Rectifico:
"En VFP una consulta puede enviarse a tres destinos"

NuncaTaxi
09 de Enero del 2006
Muchas gracias por las respuestas.

EN definitiva lo solucione aplicando la siguiente sintaxis, a saber

USE choferes
SET TALK OFF

LOCATE FOR chofer = codval
DO WHILE FOUND( )
THISFORM.Text2.Value = nombre
CONTINUE
ENDDO

Confiando siempre que no existan duplicaciones sobre el indice de la clave chofer