Ok, Si estas trabajando con foxpro 2.0,2.5,2.6 parados ó 2.5 para windows, la respuesta es sencillas solo tienes que poner en la caja de comandos o en alguna linea de tu programa donde quieres imprimir el reporte lo siguiente.... STORE "NOMBRE DE MI REPORTE " TO FILE_NAME
REPORT FORM &FILE_NAME TO PRINTER Si lo quieres por papel REPORT FORM &FILE_NAME TO PREVIEW Si lo quieres por pantalla Si la impresion es para algun formulario continuo de impresion, no podras utilizar el reporte de foxpro por lo que tendaras que activar un SET PRINTER ON SET DISPLAY ON y escrivir los datos constantes con @say por medio de matrices o mas conveniente lectura directa a archivos. Estas lines de codigo eliminaran de raiz el problema de impresion de reportes en foxpro. El segmento de codigo de ilustra el modo de presentacion en papel y pantalla, permite escojer la seleccion por donde va a imprimirse el documento y permite configurar la impresora si la impresion es por papel. Se debe cargar antes de todo una libreria de foxpro llamada FOXTOOLS.FLL, para imvocarla solo tengo que colocar la siguente linea en mi codigo de progaramas.. SET LIBRERY TO FOXTOOLS.FLL y luego hacer el llamado de la funcion =print_report(nombre del programa) amen.... a continuacion las funciones necesarias para jecutar correctamente el codigo de programa. FUNCTION print_report PARAMETER report_name,par2 STORE " " TO string ON ERROR DO func_error string=dir_report(report_name) IF (msgbox("Continuar con la visualizacion del documento?...","Emergente",1))=1 REPORT FORM &string PREVIEW ELSE RETURN .T. ENDIF IF (msgbox("Desea continuar la Impresion del documento?","Mensage",1))=1 IF (msgbox("Desea configurar el destino de impresión?...","Emergente",1))=1 =SYS(1037) ENDIF REPORT FORM &string TO PRINTER ENDIF IF ERROR()=0 RETURN 1 ELSE RETURN 0 ENDIF RETURN PROCEDURE func_error WAIT WIND "Error: "+ MESSAGE() RETURN FUNCTION dir_report PARAMETER report_name STORE " " TO valor valor=path_rep+"\"+report_name RETURN valor