Hola. Estoy programando con VFP6 y me ocurre lo siguiente: en un formulario tengo un botón "Imprimir" con código en el evento clic de modo que, según una condición, ejecute uno u otro de dos reportes distintos.
el código del evento clic del botón imprimir es el siguiente:
set device to printer
wserv=servicios.ser_cod
select servicios
wserv=servicios.ser_cod
set filter to ser_cod=wserv
if servicios.ser_tipo="PH"
report form d:ernest~1informesrecibo1 preview
else
report form d:ernest~1informescarpre2 preview
endif
set device to screen
select servicios
set filter to
seek wserv order ser_cod
thisform.btnAceptar.setfocus
thisform.refresh
Si es verdadera la condición expresada en la sentencia IF, el informe recibo1 funciona perfectamente.
Si es falsa, al llegar a la sentencia "report form d:ernest~1informescarpre2 preview" aparece el siguiente error:
"denegado el acceso al archivo".
La única diferencia significativa entre ambos informes es que uno de ellos está basado en tablas de la base de datos y el otro parte de una vista. En el entorno de datos, la vista tiene la propiedad exclusive=.t. y no admite cambio (a .f., que es como están todas las tablas del informe que anda bien)
Fue notable que ocurrió lo siguiente: cuando inicié las pruebas de este botón Imprimir todo funcionaba bien. Estaba probando con Preview en el comando Report form e iba ejecutando, corrigiendo detalles y ejecutando nuevamente.
En determinado momento, el informe que ahora no funciona apareció maximizado en la vista previa. Queriendo cerrarlo, lo que cerré fue la barra de herramientas "vista previa" y no la vista previa en sí misma. Como no tenía a la vista el menú "Ver", no encontré forma de volver a mostrar dicha barra de herramientas ni respondía al cierre de la vista previa. No encontré otra forma de seguir que no fuese cancelando la ejecución de VFP a través del administrador de tareas de Windows. A partir de la ejecución siguiente, ya no volvió a funcionar el reporte "rebelde".
Soy novato en vfp y agradeceré me orienten para resolver el problema.