Reporte

Hola experto me podrías ayudar con el siguiente problema, estoy realizando un reporte y jalo los datos con el siguiente cursor.
SELECT encauni.serviab,encauni.horario,encauni.doc,encauni.codigopac;
from encaunidosis, detaunidosis;
where detaunidosis.docdet=encaunidosis.doc;
and encauni.date between f1 and f2;
INTO CURSOR repiv
SELECT repiv
Las tablas tienen datos de diferentes días, pero al momento de mandarlo al reporte me muestra unicamente un registro y no los datos contenidos en la fecha antes mencionada
Coloco el f1 y f2 ya te tengo una clase calendario en el textbox y en el controlsource tengo f1 y f2
si podrías indicarme con esta información cual puede ser mi error te lo agradecería mucho, ya repase todo varias veces y no logro dar cual es el problema
gracias
Mischell

1 respuesta

Respuesta
1
Tu código parece estar bien.
¿Has verificado cuantas filas te devuelve el cursor antes de mandarlo a imprimir?
SELECT repiv
browse
Quizás tu condición de filtro (where detaunidosis.docdet=encaunidosis.doc;
And encauni.date between f1 and f2) esté devolviendo un sólo registro.
Verifica eso y luego si el problema persiste me avisas.
Lo trabaje con browse y acá si me da el resultado deseado el problema es cuando lo genero en el reporte por ejemplo si tiene que reflejar 10 datos me aparece el primer registro repetido 10 veces y los demás no los muestra.
Borre el reporte y lo cree nuevamente y le agregue unicamente el nombre para desplegar pero me sigue dando el mismo resultado, en el reporte no tengo ningún filtro aplicado
Aha, comprendo.
Haz las siguientes verificaciones:
1) Asegúrate de que tu cursor o tabla se encuentren en el área activa de trabajo al momento de ejecutar el reporte: Select micursor... report form...
2) Luego verifica en el diseñador de reportes que no hayas puesto el campo en la banda de titulo o grupo sino en la banda detalle.
3) Finalmente revisa la configuración de "Condiciones" haciendo doble clic sobre el campo del informe desde el diseñador de informes.
Resuelto ello no hay motivo para que continúe el problema.
De todas formas me avisas.
Saludos. Carlos
Hola, fíjate que revisé todo nuevamente y me sigue dando el mismo problema, cuando lo despliego con browse la información esta ahí pero cuando lo mando al reporte es el problema, seguiré intentando haber cual es el problema
No desesperes.
Si lo deseas puedes pasarme los archivos por mail para que los verifique.
Haz lo siguiente, guarda tu cursor como dbf para que pueda probarlo.
ELECT encauni.serviab,encauni.horario,encauni.doc,encauni.codigopac;
from encaunidosis, detaunidosis;
where detaunidosis.docdet=encaunidosis.doc;
and encauni.date between f1 and f2;
INTO table repiv.dbf
Luego me pasas esa tablita y el archivo frx (reporte) por mail a [email protected] para que los pueda ver.
Es algo extraño lo que te sucede.
A tu disposición.
¿Pudiste resolver tu problema?
Recuerda que sigue vigente mi respuesta anterior.
Hola, aun no te envíe los archivos solicitados por correo
Gracias
Ya recibí los archivos.
Mañana te envío una respuesta.
Estoy viendo tus archivos pero no puedo abrir la tabla encaunidosis.dbf
Recibo el error "no es una tabla"
A la otra la pude abrir sin problemas.
Podrías pasarme de nuevo la tabla encaunidosis.dbf
Hola Carlos,
Te envíe la tabla nuevamente muchas gracias por tu ayuda
Recibí tu archivo pero no lo puedo abrir, tampoco el reporte frx. No desesperes !
¿Qué versión de VFP estás utilizando?
Para no perder más tiempo, por favor pásame la estructura de la tabla encaunidosis.dbf para que yo la genere.
También necesito que me digas qué campos necesitas en el reporte.
Con eso va a ser suficiente.
La estructura de la tabla es la siguiente
codigopac C(12)
Nombre c(50)
peso n(5)
supcor n(5)
servicio c(15)
DOC n(10)
Fecha Date   con valor default para asignar la fecha cuando de guarde el registro
serviab c(5)
Horario c(10)
Los datos del reporte son:
encaunidosis. Nombre
detaunidosis.descrip
detaunidosis.ud
detaunidosis. Vía
encaunidosis. Fecha
encaunidosis.serviab
Gracias
Ya están creados los archivos.
Un último pedido:
Podrías pasarme dos o tres registros para la tabla encaunidosis.dbf para que pueda probar.
Por favor si puedes pasarme los valores para c/u de los campos en el mismo orden en que me pasaste la estructura de la tabla.
01-01-001
Parte-0094
87.88
7.88
A
3
01-08-010
C
13:00
_______________________
08-06-006
Parte-L-03
44.7
13.88
C
4
01-08-010
B
10:00
________________________
01-01-003
Parte8-B
8.5
2.4
A
5
07-08-010
B
11:00
Te envío los registros
Gracias
Lee atentamente:
Ya probé tus archivos y Creo que ya encontré el problema:
Tu comando SELECT SQL crea un cursor que se llama "repiv" y que recupera datos de las dos tablas en 4 campos: serviab, horario, doc, codigopac
En tus indicaciones para el reporte estás llamando 6 campos:
Encaunidosis. Nombre
Detaunidosis. Descrip
Detaunidosis. Ud
Detaunidosis. Vía
Encaunidosis. Fecha
Encaunidosis. Serviab
EUREKA: He aquí los problemas !
1) Si los datos que deseas enviar al reporte son los obtenidos en tu cursor "repiv" NO PUEDES HACER REFERENCIA A LAS TABLAS que dieron origen al cursor. Es decir que en la configuración de los campos tu informe debes hacer referencia al cursor "repiv" como origen de los datos Y NO A LAS TABLAS. Ej: "repiv.fecha" en lugar de "encaunidosis.fecha".
2) En tu reporte estás llamando a campos que no existen en tu cursor "repiv":
Bueno, espero que haya quedado claro.
En resumen: Si has creado el cursor repiv para generar un reporte, en el reporte debes hacer referencia a los datos de tu cursor.
Suerte y saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas