Hola, tu dices a hacer una consulta con parametros en sql?, mira... yo hago una consulta de que me muestre solo los datos que estén entre dos fechas.
Ejemplo:
Código:
Try
'Código para mostrar el reporte
'Lo primero que hacemos es declarar una instancia del dataSet que contiene la tabla
Dim _ControlDataSet As New ControlDataSet
_ControlDataSet.Clear()
'Creamos la Cadena de Selección que quedaría por default así: SELECT * FROM Control WHERE fecha >= #fechainicial# and fecha <= #fechafinal#
Dim Seleccion As String = "SELECT * FROM Control WHERE fecha >= " & "#" & txtFechaInicial.Text & "#" & " and fecha <= " & "#" & txtFechaFinal.Text & "#"
'Lo llenamos con el contenido de la tabla alumnos
Dim OleDbDataAdapter1 As New OleDb.OleDbDataAdapter(Seleccion, "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\BaseDatos.accdb;Jet OLEDB:Database Password=ContraseñaBaseDatos;")
'Llenamos el dataset con el adaptadorOleDb
OleDbDataAdapter1.Fill(_ControlDataSet, "Control")
'Declaramos una instancia del Reporte
Dim _rptReporte As New ReporteCrystalReports
'Le indicamos al reporte que tome los datos del DataSet
_rptReporte.SetDataSource(_ControlDataSet)
'Delcaramos una instancia del formulario que contiene el reporte
Dim miForma As New frmReporte
'Le indicamos al Crystal Report Viewer que debe mostrar el reporte de Crystal Reports
miForma.CrystalReportViewerReporte.ReportSource = _rptReporte
'Mostramos el formulario (el cual contiene el reporte)
miForma.MdiParent = FrmMenuPrincipal
miForma.Show()
Catch ex As Exception
MessageBox.Show("Error al crear el reporte" & vbCrLf & "Detalles:" & vbCrLf & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Espero te sirva