This is my code for filtering month and year.
Private Function getSalesReportByMonth() Dim dt As New DataTable Try Dim objCon As New dbConnect objCon.con.Open() Dim cmd As New OleDbCommand("Select * from SalesReport where MonthName(Month([sales_date]))[email protected] and Year(sales_date)[email protected]", objCon.con) cmd.Parameters.AddWithValue("@month", cboMonth.Text) cmd.Parameters.AddWithValue("@year", cboYear.Text) Dim da As New OleDbDataAdapter(cmd) da.Fill(dt) objCon.con.Close() Catch ex As Exception MessageBox.Show(ex.ToString) End Try Return dt End Function
This is my code for report viewer form.
Imports System.Data.OleDb Public Class frmReportPreview Public dtPrint As New DataTable Public reportPath As String = "" Private Sub frmReportPreview_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load ReportPreview() End Sub Private Sub ReportPreview() Dim rptDocument As CrystalDecisions.CrystalReports.Engine.ReportDocument = Nothing Try Windows.Forms.Cursor.Current = Cursors.WaitCursor If rptDocument Is Nothing Then rptDocument = New CrystalDecisions.CrystalReports.Engine.ReportDocument End If rptdocument.Load(Application.StartupPath & reportPath) rptdocument.SetDataSource(dtPrint) Me.CrystalReportViewer1.ReportSource = rptDocument Catch ex As Exception MessageBox.Show(ex.ToString) End Try End Sub