[dba-VS] Report Generator in VS

Dan Waters df.waters at outlook.com
Sun Apr 5 12:04:30 CDT 2015

Hi Charlotte,


This is an example of code behind a form which contains a ReportViewer.  Once you begin learning how to use reports in VS, refer back to this code.  This is some very hard-earned experience! ;-)


I’m showing how to pass information to the report form from the calling procedure, and that one form can be designed to display as many different reports as you wish (assuming they all have the same exterior dimensions, i.e., Portrait, Landscape, etc).


I use LinqToSQL queries as the data access method.  The two variables which begin with ‘LQ’ are those queries.  Of course, you can set up the DataSource with other methods also.


Good Luck!





       Public Sub New(stgNameOfReport As String, Optional stgQueryInfo As String = "", Optional intCellID As Integer = 0)



              If stgNameOfReport = "" Then Exit Sub

              Me.Text = "Report Data"

              Call ReportList(stgNameOfReport, stgQueryInfo)

       End Sub

       Private Sub ReportList(stgNameOfReport As String, Optional stgQueryInfo As String = "", Optional intID As Integer = 0)

              Dim LQCurrentReport

              Dim stgReportTitle As String = ""

              Dim DCAppMain As New DCAppMainDataContext(SV.ConnectionStringServer)

              Dim rds = New ReportDataSource()

              Select Case stgNameOfReport

                    Case "All  Records"

                           stgReportTitle = "All  Records"

                           LQCurrentReport = (From a In DCAppMain.vewStandardReport

                           Select New fakStandardReport With { _

                             .MainID = a.MainID, _

                             .Stage = a.Stage, _

                             .AssessorDate = a.AssessorDate, _

                             .ClosedDate = a.ClosedDate, _

                             .Opportunity = a.Opportunity, _

                             .DueDate = a.DueDate, _

                             .CompletedDate = a.CompletedDate, _

                             .Score = a.Score, _

                             .AceCell = GlobalProcedures.GetAceCellName(a.AceCellID), _

                             .AceCellSub = GlobalProcedures.GetAceCellName(a.AceCellSubID), _

                             .Assessor = PeopleProcedures.GetFullName(a.AssessorID), _

                             .AssignedTo = PeopleProcedures.GetFullName(a.AssignedToID), _

                             .CompletedBy = PeopleProcedures.GetFullName(a.CompletedByID), _

                             .CompletedOpportunity = a.CompletedOpportunity, _

                             .OpportunityID = a.OpportunityID}).ToList()

                           Me.FakStandardReportBindingSource.DataSource = LQCurrentReport

                           ReportViewerTable.LocalReport.ReportEmbeddedResource = "PSIAppMain.rptStandardReport.rdlc"


                    Case "ScoringDescriptions"

                           stgReportTitle = " Scoring Descriptions"

                           Dim LQScoringDescriptions = From a In DCAppMain.tblExplanations

                                                                             Order By a.ScoreSort

                                                                             Select a.ExplanationID, a.ScoreSort, a.Selection, a.Point0Report, a.Point1Report, a.Point2Report, a.Point3Report, a.Point4Report, a.Point5Report

                           Me.fakScoringDescriptionsBindingSource.DataSource = LQScoringDescriptions

                           ReportViewerTable.LocalReport.ReportEmbeddedResource = "PSIAppMain.rptScoringDescriptions.rdlc"

              End Select

              rds.Name = "fakStandardReport"

              rds.Value = FakStandardReportBindingSource


              '-- Set the criteria textboxes on the report

              Dim paramList As New Generic.List(Of ReportParameter)

              paramList.Add(New ReportParameter("ReportTitle", SV.SystemAcronym & " - " & stgReportTitle, True))

              paramList.Add(New ReportParameter("ReportFooter", Utility.ReportFooter, True))



              Me.ReportViewerTable.Dock = DockStyle.Fill

       End Sub




From: dba-VS [mailto:dba-vs-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust
Sent: Saturday, April 04, 2015 3:57 PM
To: dba-vs at databaseadvisors.com
Subject: [dba-VS] Report Generator in VS


What do you guys use to generate reports in Visual Studio.  I know a lot of people use Crystal Reports, but I hate that option.



Charlotte Foust

(916) 206-4336

More information about the dba-VS mailing list