Bonjour,
J'utilise VB.NET avec un reporting sous Crystal Report et j'ai probablement un petit soucis de compréhension et je cherche dond de l'aide.
J'ai un Etat R_Test.rpt dans lequel je fais une connection à une base de données Access 2003 MaBase.mdb. J'ai par la suite crée mon état et disposer les différents champs de ma base de données à afficher. Ensuite je crée un formulaire dans lequel j'y incorpore un CrystalReportViewer MonViewer.
Au démarrage de mon formulaire j'ai ceci :
Le résultat est parfait, mon rapport affiche bien les données de ma table. Maintenant je désirerai faire en sorte que mon rapport n'affiche que certaines données (ex : les enregistrements où id = MonParamètre).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim MonEtat As New R_Test Me.MonViewer.ReportSource = MonEtat
Comment dois je procéder ?
Voici ce que j'ai tenté :
J'ai retiré ma connexion à la base de données dans mon fichier .rpt et dans mon code VB.NET de mon formulaire j'ai ajouté ceci :
Pas de problème d'éxecution mais le résultat n'est pas celui attendu, mon rapport n'affiche aucune donnée de ma base de données tout simplement pcq dans mon fichier .rpt tous les champs de base de données que j'avais ajouté ont disparu au moment de la suppression de la connexion à la base de données dans mon fichier .rpt.
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 Dim MonEtat As New R_Facture Dim Sql As String Dim ObjCommand As OleDb.OleDbCommand Dim ObjDataAdapter As OleDb.OleDbDataAdapter Dim ObjDataSet As DataSet Dim id as Integer 'là j'utilise une constante pour le test mais par la suite ça dépendra de l'action de l'utilisateur Id = 1 Sql = "Select MonChamp From MaTable Where id = " & id ObjCommand = New OleDb.OleDbCommand(Sql) ObjCommand.Connection = Cnx ObjDataAdapter = New OleDb.OleDbDataAdapter(ObjCommand) ObjDataSet = New DataSet ObjDataAdapter.Fill(ObjDataSet, "Test") MonEtat.SetDataSource(ObjDataSet) Me.CrystalR_Facture.ReportSource = MonEtat
Est ce que je tiens le bon fil ? Dans quel cas comment je fais pour recréer ces champs de base de données sur mon fichier .rpt sachant que je ne peux plus cliquer/glisser les champs de la base de données du fait que j'ai supprimé la connexion à la base de données.
Est ce que je me suis bien expliqué ?
Merci
Partager