I hope that this helps. I copied it from a working project that I did a year or so ago. The data adapter and dataset are global so that fields from the dataset can be used when designing the report and there is a different dataset for each report that I did.
Private Sub ReportType(ByVal dStartDate As Date, ByVal dEndDate As Date)
Dim strSql, strFile As String, intRecords As Integer
'Declare an instance of the report
Dim NewReport As New ReportDocument
Try
'clear the dataset of data from previous reports
Me.DsZoneReport1.Clear()
'set the sqlstring
strSql = "Select Rep_name, Id_Num, [Date], Details_of_call, CallDirection " & _
"From Callrecord Where Date >= '" & dStartDate & "' and Date <= '" & dEndDate & "'" & _
" and Type_call = '" & Me.cboType.SelectedItem & _
"' Order by Date"
'set the dap's sql string
Me.dapZoneReport.SelectCommand.CommandText = strSql
'fill the dap
intRecords = Me.dapZoneReport.Fill(Me.DsZoneReport1)
'load the report. The path will have to be changed to the project file's bin file
'before the release.
With System.Reflection.Assembly.GetExecutingAssembly
strFile = .Location.Substring(0, InStrRev(.Location, "\bin\")) _
& "CallTypeReport.rpt"
End With
NewReport.Load(strFile)
'set the parameters in the report
NewReport.SetParameterValue("StartDate", dStartDate)
NewReport.SetParameterValue("EndDate", dEndDate)
NewReport.SetParameterValue("Type", Me.cboType.SelectedItem)
'set the report's datasource
NewReport.SetDataSource(Me.DsZoneReport1)
'bind it to the viewer.
Me.crvReport.ReportSource = NewReport
Catch ex As Exception
Throw ex
End Try
End Sub