hacer reportes con el resultado de una consulta sql en fox
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
agradezco si me pudieran dar alguna orientacion
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.
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.
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.
sino que no se como mandar el resultado de esa
consulta a impresion a manera de reporte, agradeceria si me ayudaras.
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
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
