Conexión de Cristal Report y Visual Fox

Me podrías explicar con trocitos como se hace la conexión.

1 Respuesta

Respuesta
1
Se utiliza configurando el ODBC de VFP
1. Creas un origen de datos ODBC (Controlador VFP Database)
2. Desde Crystal Reports le indicas que el origen de datos es de ODBC y el nombre del origen que creaste en el paso anterior.
Listo, solo debes recordar que la base de datos la debes abrir en modo SHARED desde VFP para que puedas acceder desde ambas aplicaciones.
Gracias!
Cree un formulario y en el Load, coloqué las opciones 1 y 2, la opción 3 la coloque en un botón de comando. Me funciono Excelente.
Ahora dos ultimas preguntas,
1)¿Cómo hago para poder seleccionar la impresora y el papel?
2)¿Tengo qué tener el archivo RPT ya compilado en EXE?
Te Agradezco muchísimo la ayuda que me haz brindado.
Gracias
Rolando Maldonado.
Ok,
Antes de disparar el evento Action, debes configurar tu objeto:
Thisform.Crystal.WindowShowPrintSetupBtn = .t.
Thisform.Crytal.WindowShowRefreshBtn = .t.
Thisform.Crystal.WindowShowExportBtn = .t.
Thisform.Crystal.WindowShowSearchBtn = .t.
Thisform.Crystal.WindowTitle = "Vista Previa del informe"
Estas son algunas opciones..
Que te servirán.
Gracias, Lo de la ODBC, lo entiendo, ahora bien, en la página lawebcrystal.com hay un ejemplo de como programar en visual fox y realizar la llamada para el .rpt de crystal, pero le formulario me da un error indicando que no se ha definido la clase CRYSTALRUNTIME.application. Necesito me indiques como hago eso.
Gracias.
La ultima pregunta, que opción se utiliza para actualizar los datos en el reporte
Yo utilizo dos maneras de hacerlo una es cuando utilizo un servidor SQL Server y la otra es cuando utilizo tablas de una base de datos de VFP, no se que ejemplo habrás visto en la página de Crystal, pero tratare de explicarte lo que hago desde VFP:
Este ejemplo se hace desde un formulario de VFP.
1. Crear un objeto OLE basado en Crystal.
IF TYPE("Thisform.Crystal")=='O' and !ISNULL(Thisform.Crystal)
Thisform. RemoveObject("Crystal")
Endif
Thisform. AddObject("Crystal", "OleControl", "Crystal.CrystalReport")
2. Asignas el informe al objeto:
Thisform.Crystal.ReportFileName = "C:\Ruta\Reporte.rpt"
3. Disparas la accion para mostrar el reporte:
Thisform.Crystal.Action = 1
Este código debe funcionarte siempre y cuando:
1.Tengas instalado correctamente Crytal Reports.
2.Exista el reporte en la ruta especificada.
3.Tu base de datos (VFP) este abierta en modo compartido.
Te agradezco mucho la información que me presentaste, me ha servido mucho y espero poder alguna vez poder ayudarte.
Gracias.
Rolando Maldonado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas