Si te entendi bien, podrias hacer lo siquiente (yo lo hago asi y me funciona muy bien)
Primero que Nada tendrias que tener tu cadena de conexion a la base de datos, asumo que en eso no tienes problema, si me equivoco avisame.
Private Conexion As Connection
Set Conexion = New Connection
pcnConexion.Open "AQUI IRIA LA CADENA DE CONEXION A TU BASE DE DATOS"
Crea una variable de tipo Report, y luego seteala a tu reporte.
Dim Reporte as Report
Set Reporte = New NombreDelReporte
Crea tu o tus recordset (En este caso usare 2, asumiendo que mi reporte usa dos consultas), el filtrado dependera del Query que hagas, es la forma mas facil, o crear un recordset desconectado y llenarlo solo con los registros que necesitas
Dim Tabla1, Tabla2 As New ADOR.Recordset
Tabla1.Open "AQUI IRIA TU SELECT O QUERY Para la Primer Consulta", Conexion
Tabla2.Open "AQUI IRIA TU SELECT O QUERY Para la Segunda Consulta", Conexion
Luego asignas la o las consultas a tu variable reporte, nota que el numero al final indica a que numero de consulta se asignara el recordset. Asi tabla1 se asignara a la primer consulta (1), que por default podria llamarse "Command"
Reporte.Database.SetDataSource Tabla1, , 1
Reporte.Database.SetDataSource Tabla2, , 2
Luego asignas el reporte a tu crviewer
crviewer1.ReportSource = Report
crviewer.ViewReport
Y ya esta.
Espero te sirva de algo