Announcement

Collapse
No announcement yet.

Crystal Report mit subReport - Fehler bei Anmeldung.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Crystal Report mit subReport - Fehler bei Anmeldung.

    Hallo<br>
    <br>
    Beim aufrufen meines Berichtes mit SubReport bekomme ich Folgende Fehlermeldung<br>
    <br>
    Ausnahmedetails: CrystalDecisions.CrystalReports.Engine.LogOnExcept ion: Fehler bei Anmeldung. <br>
    Einzeln kann ich alerdings die Berichte aufrufen.<br>
    Ich habe keine Verknüpfungsbedingungen angegeben, allerdings haben die Berichte eine unterschidliche Datenherkunft(sqlServer und dataset).<br>

  • #2
    Hallo,

    das folgende Beispiel zeigt, wie man die Login-Daten zuweisen kann. In meinem Beipsiel stammt alles aus einer SQL-Datenbank, daher werden alle auf die gleichen Login-Daten gesetzt:
    <pre>
    Dim aCREngTbl As CrystalDecisions.CrystalReports.Engine.Table
    Dim aCRTLOI As CrystalDecisions.Shared.TableLogOnInfo
    For Each aCREngTbl In osLoginDemo21.Database.Tables
    aCRTLOI = aCREngTbl.LogOnInfo
    With aCRTLOI.ConnectionInfo
    .ServerName = "(local)"
    .UserID = "sa"
    .Password = "xyz"
    .DatabaseName = "Northwind"
    End With
    aCREngTbl.ApplyLogOnInfo(aCRTLOI)
    Next aCREngTbl
    </pre&gt

    Comment


    • #3
      Hallo Andreas,

      ich verwende fast gleichen Code um eine Datenabnk dynamisch an meine Report zu binden, habe aber ein Problem dabei: Subreports.

      In meinem Hauptbericht befinden sich zwei Unterberichte, dessen Datenbankverbindung scheinbar dadurch nicht aktualisiert wird.

      Wie kann ich den Unterberichten auch die Login-Daten zuweisen?

      Gruß
      Danie

      Comment


      • #4
        Hi,

        hier noch der Quellcode:

        <pre>
        Dim rep As New Stundenbericht
        Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
        Dim myLogonInfo As CrystalDecisions.Shared.TableLogOnInfo
        For Each myTable In rep.Database.Tables
        myLogonInfo = myTable.LogOnInfo
        With myLogonInfo.ConnectionInfo
        .ServerName = _Programm_Pfad & "\Datenbank\db.mdb"
        End With
        myTable.ApplyLogOnInfo(myLogonInfo)
        Next myTable
        </pre>

        Gruß
        Danie

        Comment


        • #5
          Hi,

          ich habe schon herausgefunden, wie es gehen soll:

          <pre>
          Dim mySection As Section
          Dim mySections As Sections
          Dim myReportObject As ReportObject
          Dim myReportObjects As ReportObjects
          Dim mySubReportObject As SubreportObject
          Dim mySubRepDoc As New ReportDocument

          Dim rep As New Stundenbericht
          Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
          Dim myLogonInfo As CrystalDecisions.Shared.TableLogOnInfo
          For Each myTable In rep.Database.Tables
          myLogonInfo = myTable.LogOnInfo
          With myLogonInfo.ConnectionInfo
          .ServerName = _Programm_Pfad & "\Datenbank\db.mdb"
          End With
          myTable.ApplyLogOnInfo(myLogonInfo)
          Next myTable

          mySections = rep.ReportDefinition.Sections
          For Each mySection In mySections
          myReportObjects = mySection.ReportObjects
          For Each myReportObject In myReportObjects
          If myReportObject.Kind = ReportObjectKind.SubreportObject Then
          mySubReportObject = CType(myReportObject, SubreportObject)
          mySubRepDoc = mySubReportObject.OpenSubreport(mySubReportObject. SubreportName)
          For Each myTable In mySubRepDoc.Database.Tables
          myLogonInfo = myTable.LogOnInfo
          With myLogonInfo.ConnectionInfo
          .ServerName = _Programm_Pfad & "\Datenbank\db.mdb"
          End With
          myTable.ApplyLogOnInfo(myLogonInfo)
          Next myTable
          End If
          Next
          Next

          CrystalReportViewer2.ReportSource = rep
          </pre>

          Bei mir funktioniert es allerdings nicht. Es gibt zwar keine Fehlermeldung, aber der Bericht wird auch nicht angezeigt. Wenn ich die beiden Unterberichte raus nehme und nur den ersten Teil des Codes ausführe, geht es.
          Kann das auch ein Fehler in den Unterberichten sein?

          Gruß
          Daniel

          P.S.: Ich rufe das direkt in einem VB.NET-Programm auf, nicht über ASP.NE

          Comment


          • #6
            Hallo zusammen,

            meine Frage hat sich erledigt.

            Es funktioniert so. Es handelte sich um einen Fehler im Bericht.

            Gruß
            Danie

            Comment

            Working...
            X