Esto es urgente!

Tengo la siguiente "consulta sql" en un botón de comando:
select distinc no_exp,importe_1,concepto,obser;
from afiliadas ;
where substr(no_exp,5,2)=thisform.combo1.value and substr(no_exp,2,2)=substr(ALLTRIM(STR(thisform.spinner1.value)),3,2);
and empty(no_prv);
order by 2;
into cursor devil
Como se puede ver, el resultado de la consulta queda en un "cursor". La consulta trae 3 registros. Hasta aquí todo va bien.
Yo quiero imprimir ese resultado, para eso quiero utilizar un reporte. Cuando
Diseñé el reporte, agregué 4 campos con la herramienta "campo". Luego coloque en cada uno las sig. Expresiones:
devil.no_exp
devil.importe_1
devil. Concepto
devil.obser
Para hacer referencia en el reporte al cursor "devil".
Esto no me resulta, pues sólo me aparece el primer registro, repetido 8 veces.
No se dónde esta el error, pues, si el resultado de la consulta es correcto, porque en el reporte no aparece bien como debe ser.
Agradeceré cualquier sugerencia o solución a mi problema.
--devilzito--
Respuesta
1
Coloca en el init del dataenviroment del reporte lo siguiente
Set DATASESSION TO
***luego elaboras el select
select distinc no_exp,importe_1,concepto,obser;
from afiliadas ;
where substr(no_exp,5,2)=thisform.combo1.value and substr(no_exp,2,2)=substr(ALLTRIM(STR(thisform.spinner1.value)),3,2);
and empty(no_prv);
order by 2;
into cursor devil
if _tally=0
=messagebox('No hay nada que imprimir')
return .f.
Endif
Esto crea el cursor dentro del entorno de datos del reporte y te debe funcionar perfectamente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas