Originally Posted by
samuelmitch
yes. i did insert the keycode. anyways, i found out what the problem was or i think i do but what i did was to exclude the merge module files from the setup project and then add these merge modules:
1. crystal_managed2003.msm
2. crystal_database_access2003.msm
3. Crystal_regwiz2003.msm
- I assumed you knew which merge modules to include with your version of the software. I'm glad you found the right ones.
Originally Posted by
samuelmitch
these are merge modules that comes with .NET software. i then entered the keycode in the LicenseKey property in the crysral_regwiz2003.msm module and it worked.
- Good job. Works everytime.
Originally Posted by
samuelmitch
The next problem i am having now is that everytime i run the crytal reports it keep asking for the connection information. and even if i enter the information it saids invalid login. what can i do to stop it from asking me for the connection information?
- The problem you're having has to do with the fact that you are not using a class to summon access to your report documents. So everytime you open those reports, it's trying to find the database to which its fields are bound - hence you get the login information screen. Your dataset class already stores this information in it's related XML document (named: dataset#.xsd).
To solve this problem, make the following modifications to your code:
Code:
'Declare report variables
Private myDataSet As New YourDataSet()
Private myReport As New YourReportClassName()
'Assume that myDataAdapter is a data adapter object on your form.
'This line fills the dataset
myDataAdapter.Fill("ReportTable", myDataSet)
'Now attach your crystal report object to the tables in the dataset
myReport.SetDataSource(dsUser)
myReport.Database.Tables(0).SetDataSource(myDataSet)
myReport.Database.Tables(1).SetDataSource(myDataSet)
.
.
.
'For as many tables in the dataset there are, which are used by your report...
myReport.Database.Tables(n).SetDataSource(myDataSet)
'Launch the report in your Crystal Report Viewer
CrystalReportViewer1.ReportSource = myReport
When you use this route, the report object uses the connection information exposed by your DataSet and DataConnection class objects, so you won't have to manually enter database login information.
Problem solved.
Cheers.