billy21121
Messages postés78Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention19 janvier 2012
-
13 déc. 2006 à 10:34
cs_bhagi
Messages postés5Date d'inscriptionsamedi 22 avril 2006StatutMembreDernière intervention22 juillet 2008
-
22 juil. 2008 à 17:37
Bonjour,
je suis actuellement en train de migrer un projet de vb6 a vb.net 2005. Ce projet permet de générer dynamiquement des rapports.
Mes rapports sont basés sur des tables access. Quand je vais dans le menu base de données, requête SQL, je vois bien la requête qui alimente mon rapport.
Maintenant, a travers mon code, j'execute une requête qui alimente un dataset et qui par la suite est envoyé au rapport via la méthode SetDataSource de mon rapport.
mon dataset contient pourtant bien les bonnes données
Quand je visualise mon rapport, mes données ne sont pas correctement affichées, elles sont dupliquées plusieurs fois.
Voici mon code:
'Declare variable
Dim QueryString
As
String
Dim DataTable
As DataTable =
New DataTableoReportDocument.Load(
"C:\Documents and Settings\frl\My Documents\Crystal.net\SDNA_CRWNET\UTILS INTERFACE LOG.rpt")
'set the query stringQueryString =
" SELECT `Log`.`ImportTable`, `Log`.`Line`, `Log`.`Stamp`, `Log`.`Description`, `Log`.`ImportProcedure`, `Log`.`ImportDB` FROM `Log` `Log` ORDER BY `Log`.`ImportProcedure` "
'set the connection to the database
Dim Connection
As
New OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\Data\DeMaSy\Import\import.mdb")
'Your Database Connection Here
'open the databaseConnection.Open()
'execute the sql query
Dim Adapter
As OleDbDataAdapter =
New OleDbDataAdapter(QueryString, Connection)
'DataSet
Dim DataSet
As DataSet =
New DataSet()
Try
'put the result in the datasetAdapter.Fill(DataSet)
'filling the datatable hereDataTable = DataSet.Tables(0)
'create the reportoReportDocument.SetDataSource(DataSet.Tables(0))
razaphi
Messages postés43Date d'inscriptiondimanche 18 juin 2006StatutMembreDernière intervention 7 août 2007 16 déc. 2006 à 20:57
Ce que je fais c'est d'afficher mon etat dans un controle CrystalReportViewer. pour afficter les parametres de selection à l'etat, je fais
CrystalReportViewer.SelectionFormula=<Critere>. La variable Critere contient le critere pour modifier le type d'enregistrement, il correspond un peu à la partie "Where" de ton Sql. Mais là encore, il faut faire attention car la formule de selection prise en charge par Crystal report n'est pas du Sql. pour trouver la bonne formule, ouvre ton etat, fait un click droit sur le objet IFieldObject et choisis Expert Selection. Clique sur le bouton 'Afficher Formule' pour voir comment crystal report gere ses critere. C'est ce meme type de critere que tu devra netrer dans la variable 'Critere'.
Pour lier ton objet CrystalReportViewer à un etat, fait
CrystalReportViewer.ReportSource = <Chemin_Etat> où 'Chemin_Etat' est le chemin de l'etat. dans le chemin de l'etat, remplace les '\' par les '\\'
billy21121
Messages postés78Date d'inscriptionlundi 1 mars 2004StatutMembreDernière intervention19 janvier 2012 17 déc. 2006 à 19:39
Ok merci d'avoir pris du temps pour me répondre, mais le problème c'est que je voudrais pouvoir aussi modifier mon FROM. Mais d'apres tout les commentaires que j'ai vu, je crois que je v devoir changer de technique. tant pis. j'avais qu'a faire mon analyse correctement.
cs_bhagi
Messages postés5Date d'inscriptionsamedi 22 avril 2006StatutMembreDernière intervention22 juillet 2008 22 juil. 2008 à 17:37
Bonjour à tous et à toutes!
Quelque peut m'aider sur la conception des états dynamiques du style paramétrable avec crystal report en vb.net ? car j'arrive pas toujour à m'en sortir.
Merci je compte sur votre bonne comprehension!