hacer reportes con el resultado de una consulta sql en fox

MARINA BETANCOURT
25 de Noviembre del 2003
tengo un programa que captura solicitudes de examenes extraordinarios, necesito que el reporte contenga datos de dos tablas, datos del alumno: matricula y nombre; de todos aquellos que hayan solicitado determinada materia con el mismo maestro para elaborar las listas. mi pregusnta es: ¿como le hago para que el reporte me imprima el resultado de una instruccion sql que me rescate los datos coincidente de mas de una tabla? necesito filtrar primero todos los alumnos que solicitaron en determinado periodo, en seguida con la matricula obtener su nombre y apellido de otra tabla, y por ultimo agruparlos por materia.

agradezco si me pudieran dar alguna orientacion

Spawn
25 de Noviembre del 2003
Consulta en las ayudas de visual fox sobre la instruccion SELECT (SQL), pero mas o menos deberias hacerlo de esta manera, ya que no se con exactitud la estructura de las tablas:

SELECT tb1.nombre, tb1.apellido,;
tb2.matricula, tb2.periodo, tb2.materia ;
FROM tabla1 tb1, tabla2 tb2 ;
WHERE <condicion de filtro> ;
GROUP BY 5 ;
INTO CURSOR estudiantes

SELECT estudiantes

En esa instruccion creaste una tabla en memoria con el resultado de tus dos tablas. La tabla resultante se llama ESTUDIANTES, y sus campos tienen los mismo nombres que tenian en las tablas de los que fueron extraidos: NOMBRE, APELLIDO, MATRICULA, PERIODO y MATERIA.

Espero te sirva de ayuda, si lo deseas puedes enviarme la estructura de las bases de datos y te desarrollo la aplicacion.

marina betancourt
25 de Noviembre del 2003
mi priblema no es el desarrollo de la consulta sql
sino que no se como mandar el resultado de esa
consulta a impresion a manera de reporte, agradeceria si me ayudaras.

maxr
25 de Noviembre del 2003
Espero con esto poder ayudarte en algo
Partamos del punto que tienes un cursor creado
a partir de una consulta a sql
StringSql = "select * from trabla" = "
= SQLSETPROP(gnConnHandle, 'asynchronous', .F.)
= SQLEXEC(gnConnHandle, stringsql, 'cursor_resultado')
select cursor_resultado
select * from cursor_resultado into cursor cursor_2
report form reporte preview

/* obviamente se asume has creado un report basado en los campos de resultado que obtienes de la consulta, si quieres puedes crear el report con el wizar a partir de la tabla, en este caso en vez de crear un cursor creas la tabla */
o sea into dbf nombre y ubicacion de la tabla