IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Crystal report + VS 2010 Express


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Crystal report + VS 2010 Express
    Bonjour à tous,

    Je développe actuellement une application vb.net dans laquelle j'aimerai intégrer la visu + impression d'un état crystal report fait avec crystal report 2011, j'ai intégré l'état à mon projet mais je ne trouve pas de solution pour pouvoir le visualiser et l'imprimer via mon application...
    J'ai trouver de mutliple "solution" sur le net mais aucune n'est assez détaillé pour que je puisse la mettre en oeuvre ...

    Est-ce que quelqu'un aurait une solution simple et claire pour visualiser et imprimer des états crytal report avec visual studio 2010 express vb.net ?

    Merci d'avance.

  2. #2
    Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Re...

    J'ai un peu avancé avec mon pb de reporting, mais je suis de nouveau bloqué...
    J'ai ajouter un crystal ActiveX report viewer dans une form de mon projet et j'ai testé un code que j'ai trouver sur le net que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
        Friend Function ViewReport(ByVal sReportName As String, Optional ByVal sSelectionFormula As String = "", Optional ByVal param As String = "") As Boolean
     
            'Declaring variablesables
            Dim intCounter As Integer
            Dim intCounter1 As Integer
     
            'Crystal Report's report document object
            Dim objReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
     
            'object of table Log on info of Crystal report
            Dim ConInfo As New CrystalDecisions.Shared.TableLogOnInfo
     
            'Parameter value object of crystal report 
            ' parameters used for adding the value to parameter.
            Dim paraValue As New CrystalDecisions.Shared.ParameterDiscreteValue
     
            'Current parameter value object(collection) of crystal report parameters.
            Dim currValue As CrystalDecisions.Shared.ParameterValues
     
            'Sub report object of crystal report.
            Dim mySubReportObject As CrystalDecisions.CrystalReports.Engine.SubreportObject
     
            'Sub report document of crystal report.
            Dim mySubRepDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument
     
            Dim strParValPair() As String
            Dim strVal() As String
            Dim index As Integer
     
            Try
     
                'Load the report
                objReport.Load(sReportName)
     
                'Check if there are parameters or not in report.
                intCounter = objReport.DataDefinition.ParameterFields.Count
     
                'As parameter fields collection also picks the selection 
                ' formula which is not the parameter
                ' so if total parameter count is 1 then we check whether 
                ' its a parameter or selection formula.
     
                If intCounter = 1 Then
                    If InStr(objReport.DataDefinition.ParameterFields(0).ParameterFieldName, ".", Microsoft.VisualBasic.CompareMethod.Text) > 0 Then
                        intCounter = 0
                    End If
                End If
     
                'If there are parameters in report and 
                'user has passed them then split the 
                'parameter string and Apply the values 
                'to their concurrent parameters.
     
                If intCounter > 0 And Trim(param) <> "" Then
                    strParValPair = param.Split("&")
     
                    For index = 0 To UBound(strParValPair)
                        If InStr(strParValPair(index), "=") > 0 Then
                            strVal = strParValPair(index).Split("=")
                            paraValue.Value = strVal(1)
                            currValue = _
                                objReport.DataDefinition.ParameterFields(strVal(0)).CurrentValues
                            currValue.Add(paraValue)
                            objReport.DataDefinition.ParameterFields(strVal(0)).ApplyCurrentValues(currValue)
                        End If
                    Next
                End If
     
                'Set the connection information to ConInfo 
                'object so that we can apply the 
                'connection information on each table in the report
                'ConInfo.ConnectionInfo.UserID = <User Name>
                'ConInfo.ConnectionInfo.Password = <Password>
                'ConInfo.ConnectionInfo.ServerName = <Server Name>
                'ConInfo.ConnectionInfo.DatabaseName = <Database Name>
     
                For intCounter = 0 To objReport.Database.Tables.Count - 1
                    objReport.Database.Tables(intCounter).ApplyLogOnInfo(ConInfo)
                Next
     
                ' Loop through each section on the report then look 
                ' through each object in the section
                ' if the object is a subreport, then apply logon info 
                ' on each table of that sub report
     
                For index = 0 To objReport.ReportDefinition.Sections.Count - 1
                    For intCounter = 0 To _
                        objReport.ReportDefinition.Sections(index).ReportObjects.Count - 1
                        With objReport.ReportDefinition.Sections(index)
                            If .ReportObjects(intCounter).Kind = _
                            CrystalDecisions.Shared.ReportObjectKind.SubreportObject Then
                                mySubReportObject = CType(.ReportObjects(intCounter),  _
                                  CrystalDecisions.CrystalReports.Engine.SubreportObject)
                                mySubRepDoc = _
                         mySubReportObject.OpenSubreport(mySubReportObject.SubreportName)
                                For intCounter1 = 0 To mySubRepDoc.Database.Tables.Count - 1
                                    mySubRepDoc.Database.Tables(intCounter1).ApplyLogOnInfo(ConInfo)
                                    mySubRepDoc.Database.Tables(intCounter1).ApplyLogOnInfo(ConInfo)
                                Next
                            End If
                        End With
                    Next
                Next
                'If there is a selection formula passed to this function then use that
                If sSelectionFormula.Length > 0 Then
                    objReport.RecordSelectionFormula = sSelectionFormula
                End If
                'Re setting control 
                CRViewer.myCRViewer.ReportSource = Nothing
     
                'Set the current report object to report.
                CRViewer.myCRViewer.ReportSource = objReport
     
                'Show the report
                CRViewer.Show()
                Return True
            Catch ex As System.Exception
                MsgBox(ex.Message)
            End Try
        End Function
    Une erreur d'exception vient se glisser pendant la déclaration des "report document", il ne trouve pas l'assembly, voir l'erreur ci-dessous :

    {"Impossible de charger le fichier ou l'assembly 'CrystalDecisions.ReportAppServer.CommLayer, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' ou une de ses dépendances. Le fichier spécifié est introuvable.":"CrystalDecisions.ReportAppServer.CommLayer, Version=12.0.1100.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"}

    Est-ce que quelqu'un a déjà rencontré ce type de probleme ?
    Quelqu'un a-t-il une solution ?

    Merci d'avance.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 22
    Points : 28
    Points
    28
    Par défaut PB crystal
    Moi, j'ai un problème avec crystal. J'utilise Crystal report 11 version 11.0.0.895 et je construit mon état à partir d'une source de données odbc jusqu'à sans problème. J'appelle mon état créé dans ma visionneuse crystalReportView avec vs 2005. Je passe comme source au report un dataset. Le problème maintenant est que l'état reférencie toujours la source odbc car quand celle-ci n'est pas bien configurée, à l'affichage il m'envoie une fenêtre où il me demande d'entrer le Id user et le password comment svp!
    merci très cordialement.

  4. #4
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2008
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 161
    Points : 86
    Points
    86
    Par défaut
    Bonsoir,

    Il faut que tu te crée une DataTable en lui ajoutant une variable, par exemple ton ID, comme cela ça te fait un select avec la clause "WHERE" et du coup tu ne récupère plus qu'un seul enregistrement.

    Il y a peut être également d'autre solution en créant un objet et tu lui envoi cet objet.

Discussions similaires

  1. Crystal report viewer sous visual basic 2010 express
    Par amzwag02 dans le forum Développement Windows
    Réponses: 0
    Dernier message: 02/02/2014, 01h42
  2. VB 2008 Express et Crystal Report
    Par ApprentiDeveloppeur dans le forum Windows Forms
    Réponses: 0
    Dernier message: 09/02/2010, 16h29
  3. [VB 2008 Express] Problème Crystal Report
    Par libremax dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/06/2009, 21h08
  4. Crystal Report et Visual Basic.net 2005 express
    Par Pierre Fauconnier dans le forum VB.NET
    Réponses: 4
    Dernier message: 15/04/2007, 14h35
  5. Réponses: 2
    Dernier message: 24/04/2006, 10h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo