none
No funciona este codigo de tutorial para informes por Crystal Report RRS feed

  • Pregunta

  • He seguido esta secuencia para realizar este tutorial de Crystal Reports
    en Visual Studio 2005

    http://msdn.microsoft.com/es-es/library/ms227490(VS.80).aspx

    http://msdn.microsoft.com/es-es/library/ms227528(VS.80).aspx

    http://msdn.microsoft.com/es-es/library/ms227525(VS.80).aspx

    http://msdn.microsoft.com/es-es/library/ms227507(VS.80).aspx

    http://msdn.microsoft.com/es-es/library/ms227408(VS.80).aspx

    http://msdn.microsoft.com/es-es/library/ms227461(VS.80).aspx

    http://msdn.microsoft.com/es-es/library/ms227533(VS.80).aspx

    http://msdn.microsoft.com/es-es/library/ms227471(VS.80).aspx

    El codigo es este:



    Imports CrystalDecisions.CrystalReports.Engine

    Imports CrystalDecisions.Shared



    Public Class Form1



        Private northwindCustomersReport As ReportDocument





        Private Sub ConfigureCrystalReports()

            Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()

            myConnectionInfo.DatabaseName = "Northwind"

            myConnectionInfo.UserID = "limitedPermissionAccount"

            myConnectionInfo.Password = "1234"

            myConnectionInfo.ServerName = "dholmes_50701"



            northwindCustomersReport = New ReportDocument()

            Dim reportPath As String = Application.StartupPath & "\" & "NorthwindCustomers.rpt"

            northwindCustomersReport.Load(reportPath)

            myCrystalReportViewer.ReportSource = northwindCustomersReport

            SetDBLogonForReport(myConnectionInfo, northwindCustomersReport)



        End Sub



        Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)

            Dim myTables As Tables = myReportDocument.Database.Tables

            For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables

                Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo

                myTableLogonInfo.ConnectionInfo = myConnectionInfo

                myTable.ApplyLogOnInfo(myTableLogonInfo)

            Next

        End Sub





        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            ConfigureCrystalReports()

        End Sub

    End Class

    Me dice no se puede cargar el informe

    El error me sale en esta parte:

    For Each myTableLogOnInfo As TableLogOnInfo In myTableLogOnInfos
    No se controlo NullReferenceException

    Este codigo debe funcionar (pues es del tutorial)y no funciona, que paso?

    • Cambiado Enrique M. Montejo lunes, 29 de agosto de 2011 15:44 consulta sobre Crystal Reports (De:Lenguaje VB.NET)
    lunes, 7 de junio de 2010 22:26

Todas las respuestas

  • hola

    no veo en ningun parte del codigo que has posteado en la pregunta que uses

    For Each myTableLogOnInfo As TableLogOnInfo In myTableLogOnInfos

    lo mas cercano es

    For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables

    pero no es lo mismo

     

    te doy un consejo quita la conexion de tu reporte y sua dataset tipados para crearlos, te ahorraras miles de problemas, lo digo por experiencia potque ya me los encontre a este tipos de casos te vuelven loco

    usa dataset tipados, que cargas tu mismo programaticamente y luegfo usas a estos como origen de datos de reporte, pero este se conecta a un dataset sin teneer en cuenta una db especifica

    Informes Crystal Reports

    Creación de Reportes con Crystal Reports en Visual Studio 2005/2008

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 8 de junio de 2010 3:09
  • Gracias por la respuesta, el codigo lo copie de el lugar equivocado, este es el correcto:

     

    Imports CrystalDecisions.CrystalReports.Engine

    Imports CrystalDecisions.Shared

     

    Public Class Form1

     

        Private Sub ConfigureCrystalReports()

     

            Dim MyConnectionInfo As ConnectionInfo = New ConnectionInfo()

            MyConnectionInfo.DatabaseName = "Northwind"

            MyConnectionInfo.UserID = "limitedPermissionAccount"

            MyConnectionInfo.Password = "1234"

            '        MyConnectionInfo.ServerName = "PC1"

            Dim reportPath As String = Application.StartupPath & "\" & "NorthwindCustomers.rpt"

            MyCrystalReportViewer.ReportSource = reportPath

            SetDBLogonForReport(MyConnectionInfo)

     

     

        End Sub

     

     

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            ConfigureCrystalReports()

     

        End Sub

        Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo)

            Dim myTableLogOnInfos As TableLogOnInfos = MyCrystalReportViewer.LogOnInfo

            For Each myTableLogOnInfo As TableLogOnInfo In myTableLogOnInfos

                myTableLogOnInfo.ConnectionInfo = myConnectionInfo

            Next

        End Sub

    End Class


    El error me sale en esta parte:

    For Each myTableLogOnInfo As TableLogOnInfo In myTableLogOnInfos
    No se controlo NullReferenceException

    Te agradeceria un comentario al respeto




     

    miércoles, 9 de junio de 2010 19:47