?
Solved

VS 2008 and Crystal Reports Viewer

Posted on 2008-06-11
11
Medium Priority
?
510 Views
Last Modified: 2013-11-26
I am developing an application in VB/VS2008 and am using Crystal Reports and the CR Report Viewer.  I am able to use the viewer on a form, and can pass parameters and get the report to load.  What I am wondering is, can I use a single Form/Viewer to view all reports in my application?  Or do I have to create a Form/Viewer for each report?  I have not been able to find any examples of how to programatically call the form passing variables, so that I can use the same viewer for any report.  My scenerio is to have a form open, clicking on a button will pass a parameter to the report, and open the selected report in the viewer.  I'd like to do this from many areas of the application, but don't want to have to create multiple forms with viewers.
0
Comment
Question by:sassymacke
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
11 Comments
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 21761058
a single form is OK. check "Testing your report" from http://www.emoreau.com/Entries/Articles/2006/09/Feeding-Crystal-Reports-from-your-application.aspx (in particular CrystalReportViewer1.ReportSource = mrptDoc)
0
 

Author Comment

by:sassymacke
ID: 21761243
Thanks emoreau.  I hate to be a bonehead, but which code goes into the viewer's form, and which goes into the form where I'm calling the report from?
0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 21762218
download the sample code that goes with the article. everything is there. Basically, there is nothing into the viewer form.
0
Not sure which OpenStack Certification to get?

So you’ve realized you might want to get certified in OpenStack, but you’re not sure what the benefits might be or even which one you should take. You know there are several certification courses you can choose from, but how do you know which one is right for you?

 

Author Comment

by:sassymacke
ID: 21762372
Sometimes right in front of your nose is not close enough!  I'll try this code and post back in a few. Thanks.
0
 
LVL 101

Expert Comment

by:mlmcc
ID: 21762375
If that code is different from yours, post your code and we can try to help modify it.

mlmcc
0
 

Author Comment

by:sassymacke
ID: 21762511
This is what I have, but I can't get past the error that myCrystalReportViewer is not declaired.  That is the name of my viewer control on Form2.  This is the code on the other form.
Imports CrystalDecisions.CrystalReports.ViewerObjectModel
Imports CrystalDecisions.ReportSource
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
 
Public Class RFI
 
    Private rptReport As New ReportDocument    
 
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)
 
        Dim myTables As Tables = myReportDocument.Database.Tables
        For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables
            Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
            myTableLogonInfo.ConnectionInfo = myConnectionInfo
            myTable.ApplyLogOnInfo(myTableLogonInfo)
        Next
 
    End Sub
    Private Sub ConfigureCrystalReports()
        Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
 
        myConnectionInfo.DatabaseName = "FrerichsPMgr"
        myConnectionInfo.IntegratedSecurity = True
        SetDBLogonForReport(myConnectionInfo, rptReport)
    End Sub
    Private Sub PrintPreviewToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintPreviewToolStripMenuItem1.Click
        Me.Cursor = Cursors.WaitCursor
 
        rptReport.Load("..\Reports\RFIRPT.rpt")
 
        ConfigureCrystalReports()
        
        Dim ID As String
        ID = Me.RFIIDTextBox.Text
        'Set the values of the parameters
        rptReport.SetParameterValue("RFIID", ID)
 
        'Pass the Report Document object to the viewer
        myCrystalReportViewer.ReportSource = rptReport
    End Sub
End Class

Open in new window

0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 21762606
myCrystalReportViewer has to be the name of your CR viewer.

Is it on the same form where this code runs?
0
 

Author Comment

by:sassymacke
ID: 21762656
That is the name of my viewer, but it is on a different form.  I want to call that form to open with the viewer when I press the button.  
0
 
LVL 70

Accepted Solution

by:
Éric Moreau earned 2000 total points
ID: 21762750
Then you need to do something like:

dim f as new FormWithTheCRViewer
f.myCrystalReportViewer.ReportSource = rptReport
f.show
0
 

Author Comment

by:sassymacke
ID: 21762920
It WORKED!!!!  I have spent more time on this than I care to admit.  Thanks so much for the assitance!!!
0
 

Author Closing Comment

by:sassymacke
ID: 31466121
Thanks so much!!!
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The object model of .Net can be overwhelming at times – so overwhelming that quite trivial tasks often take hours of research. In this case, the task at hand was to populate the datagrid from SQL Server database in Visual Studio 2008 Windows applica…
This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question