La Web del Programador: Comunidad de Programadores
 
    Pregunta:  2428 - MANEJO DE SQL EN UN FORMULARIO DE VFPRO
Autor:  ERICKA HERNANDEZ
COMO PUEDO HACER UNA CONSULTA (SQL) DENTRO DE UN FORMULARIO, Y ADEMAS, COMO PUEDO HACER QUE EL RESULTADO DE ESA CONSULTA SE DESPLIEGUE EN UN LISTBOX Y NO EN UN BROWSE.
TAMBIEN TENGO OTRO PROBLEMA, QUIERO QUE EL GRID QUE ANEXO AL FORMULARIO SE REFRESQUE SOLO CON LOS DATOS DE LA MATRICULA (EN ESTE CASO) QUE YO LE ESCRIBO EN EL TEXTBOX, YA LE DI REFRESH EN EL INIT DEL GRID, DEL FORMULARIO, PERO ME SIGUE PONIENDO TODOS LOS REGISTROS DE LA TABLA.

  Respuesta:  David Fernando Amador Tapia
Bueno con respecto a la sentencia sql puede realizar lo siguiente....

Cuando hayas seleccionado lso registros deseados al final del sql le dices que los almacene en un cursor o en una tabla.
por ejemplo
al finalizar el sql le dices

INTO CURSOR nombrecursor

ya tienes los datos en un cursor(tabla temporal) luego emites el siguiente codigo

thisform.list1.rowsource = "nombrecursor"
debe llevar las comillas
y luego thisform.list1.requery()
Volvera a consultar el origen de la lista desplegable

si tienes dudas escribeme y te enviare un ejemplo

  Respuesta:  gato gato
Con relación a lo primero:
Debes usar las propiedades RowSource= <sentencia SQL> y RowSourceType= 3 (instrucción SQL) del objeto ListBox. RowSource lo puedes indicar a nivel de diseño(escribiendo la sentenccia SQL entre comillas y mostrando el resultado en un cursor) o ejecución(dejando en blanco el valor y asignandolo desde el formulario).

Con respecto a lo segundo, el refreh() debe realizarse en el valid() del TextBox.