This is my first time using Crystal reports.I have a store procedure and What i am trying to do is when i highlight a row in datagridview and click report button, that only the highlighted row gets sent to the report viewer page.I have tried some solutions here but no luck.
Report button code
Imports System.Data.SqlClient
Imports System.IO
Imports CrystalDecisions.CrystalReports.Engine
Public Class frmView
Dim cn As New SqlConnection("Data Source=.;Initial Catalog=DBSAS;Integrated Security=True")
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim dt As New DataTable
Dim i As Integer
Dim a As New OpenFileDialog
Private Sub btnRep_Click(sender As Object, e As EventArgs) Handles btnRep.Click
cn.Open()
Dim report As New ReportDocument
da.SelectCommand = New SqlCommand("EXEC usplatestDateEnrolled ", cn)
report.RecordSelectionFormula = "{@studID}" & dgv1.SelectedRows(0).Cells(0).Value
report.Load("C:\users\agent_edx44\My Documents\Visual studio 2012\projects\SASApp\Rep.rpt")
frmReport.CrystalReportViewer1.ReportSource = report
frmReport.CrystalReportViewer1.Refresh()
frmReport.Show()
cn.Close()
End Sub
End Class
Store procedure code
USE [DbSAS]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[uspLatestDateEnrolled]
@studID INT = NULL
AS
BEGIN
SET NOCOUNT ON;
SELECT sh.SchoolYear,
sh.Levels,sh.Section, sh.DateEnrolled ,
SI.StudentID,SI.Surname,SI.FirstName,SI.MiddleName, SI.StudAddress ,
SI.BirthDay,SI.Gender, SI.Nationality, SI.BirthPlace,
SI.TelNum,SI.SchoolWhereGraduated ,
SI.DatesWhenGraduated, SI.SchoolLastAttended,
SI.SchoolAddress, SI.Note,SI.StudImage,
PI.Father_FirstName,PI.Father_LastName,
PI.Father_MI,PI.Father_Occupation,
PI.Father_TelNUm, PI.Mother_FirstName, PI.Mother_LastName,
PI.Mother_MI,PI.Mother_Occupation,PI.Mother_TelNum,
PI.Contact_FirstName,PI.Contact_LastName,PI.Contact_MI,
PI.Contact_Mobile,PI.Contact_TelNum,PI.Contact_Address
FROM StudentInformation SI
JOIN StudentHistory SH
ON SI.StudentID = SH.StudentID
JOIN ParentInformation PI
ON PI.ParentID = SI.ParentID
WHERE si.StudentID = @studID
ORDER BY DateEnrolled DESC
SELECT * FROM StudentHistory WHERE StudentID = @studID
ORDER BY DateEnrolled DESC
SELECT TOP 1 SchoolYear,
Levels,Section, DateEnrolled as LatestDate
FROM StudentHistory
WHERE studentID = @studID
ORDER BY DateEnrolled DESC
What I have tried:
When i run this code it says that
Quote:
Invalid report file path in this line
report.RecordSelectionFormula = "{@studID}" & dgv1.SelectedRows(0).Cells(0).Value
Can anyone help me to fix my code. I'm stuck here for almost an hour. Thanks in advance