2009-08-17 6 views
1

Je suis nouveau à Crystal Reports et maintenant j'ai conçu un rapport via Crystal Reports 8.5 en vb6.0 et je veux afficher le rapport.Façons d'alimenter un rapport (degined par Crystal Reports 8.5 dans vb6.0) pour afficher un enregistrement spécial?

J'ai récupéré des données de champs à partir d'une vue dans ma base de données mais, comme vous le savez, les vues ont plusieurs enregistrements. Je veux sélectionner un enregistrement spécial par une clé primaire qui est la valeur d'une zone de texte sur mon formulaire.

s'il vous plaît aidez-moi

Répondre

1

Ajouter un paramètre au rapport et utiliser le paramètre dans la sélection d'experts. Ensuite, appelez SetParameterValue sur le document de rapport avant le chargement.

+0

pourriez-vous s'il vous plaît envoyez-moi un exemple? – odiseh

0

Pourquoi ne pas faire une sql dynamique vous Vb former choisir les valeurs de la zone de texte

strSql = "select blah from blah where blah ='" + txtBox.text +"'" 

Utilisez ensuite et exécutez la requête dans un ado.recordset et passer que dans un objet de rapport d'application de rapports de cristal, en utilisant ttx fichiers pour définir les données etc ...

Pour cela, vous n'avez qu'à vous soucier de la dynamique SQL à partir de votre formulaire vb pour la sélection des paramètres. Le reste peut être modélisé pour n'importe quel rapport.

Voici un code pour vous commencer

Set AdoRs = New ADODB.Recordset 
Set AdoRs = conn_rep.Execute(strSql) 

Set CrRep = CrAppl.OpenReport(App.Path + "\crystal\" + CryReportName) 

CrRep.Database.Tables(1).SetDataSource AdoRs, 3 
CRViewer1.ReportSource = CrRep 
CRViewer1.EnablePrintButton = True 

CRViewer1.EnableExportButton = True 
CRViewer1.EnablePrintButton = True 
CRViewer1.viewReport 
Questions connexes