sql >> Base de Datos >  >> RDS >> Sqlserver

Actualización del proveedor de datos de Crystal Reports

A menos que alguien tenga una solución más rápida/simple, este es el enfoque que utilizo para que los informes cristalinos funcionen con MS Access en Visual Studio 2010. Es un poco más complicado que el método normal de seleccionar una fuente de datos, pero ofrece más control, es base de datos agnóstico y funciona donde los otros métodos a veces fallan (especialmente con MS Access en mi experiencia).

Detallaré el proceso de hacer que los informes funcionen de principio a fin (porque todo el proceso puede ser útil para otros), pero resaltaré las partes que pueden ser útiles para usted.

1) Instale Crystal Reports desde el sitio de SAP. Asegúrate de descargar el archivo exe, NO el msi (no funciona):

http://scn.sap.com/docs/DOC-7824

2) Cambie el Marco de destino de su aplicación a .Net Framework 4 (NO cliente). El material de Crystal no está incluido en el perfil básico.

3) Agregue una referencia a las bibliotecas de Crystal (Crystal Reports para .NET)

4) Agregue un formulario, en ese formulario coloque un control Visor de informes de Crystal (desde la sección Informes de la Caja de herramientas):

5) Agregue un CrystalReportDocument y asígnelo al control CrystalReportViewer:

Para completar el informe con datos, haga lo siguiente:

1) Genere el esquema de su informe ejecutando un código que toma la tabla de datos de su informe (desde una puerta de enlace) y exporta el esquema. Por ejemplo:

<TestMethod()>
Public Sub SchemaTest()
    Dim dataSet As DataSet = StaticDataGateway.AccountingIncomeTotals
    dataSet.WriteXmlSchema("I:\Myschema.xml")
End Sub

Si ya tiene sus informes creados, probablemente no necesitará esto. Lo mismo si puede escribir el xml a mano (fácil una vez que tenga una plantilla para trabajar)

2) Luego carga esto en su informe para obtener los campos que luego puede manipular para producir su informe. Para ello, haga clic con el botón derecho en los campos de la base de datos en el Explorador de campos de informe:

3) Desde aquí, seleccione Experto en base de datos y elija ADO.net (xml). La elección lógica de Access/Excel DAO en realidad no funciona en absoluto en VS 2010. Seleccione su archivo de esquema y cárguelo, luego haga doble clic en Table1 para completar la vista de tablas seleccionadas:

4) Ahora que tiene un esquema cargado, podrá ver campos en el menú desplegable de campos que puede arrastrar y soltar en su informe:

5) Finalmente, carga un conjunto de datos en su informe ejecutando el código en el evento de carga de su formulario en el que colocó el control del visor de informes:

i) Asegúrese de generar un conjunto de datos (no una tabla de datos) desde su puerta de enlace (o donde sea):

Public Shared Function AccountingIncomeTotals() As DataSet
    Dim dataSet As New DataSet
    Dim dataTable As DataTable = Database.GetDataTable(GetCommand(DBC.Reporting.SPs.AccountingIncomeTotals))
    dataSet.Tables.Add(dataTable)
    Return dataSet
End Function

ii) Luego asígnelo a la fuente de datos en el informe:

Private Sub AccountingIncomeTotals_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    AccountingIncomeTotalsReport1.SetDataSource(StaticDataGateway.AccountingIncomeTotals)
End Sub

La sección anterior probablemente le resulte especialmente interesante porque le permite asignar directamente la fuente de datos al informe sin tener que usar el panel de interfaz de usuario Crystal Select DataSources.

Se requiere otra cosa, debe agregar "useLegacyV2RuntimeActivationPolicy" al archivo app.config:

http:/ /www.codeproject.com/Questions/390643/Error-When-use-of-crystal-report-sap-crystal-13-an

Espero que esto ayude, lo siento, es tan complicado, si tiene alguna pregunta, por favor pregunte