Hola, esto es lo que debes hacer para que un report en Crystal, sólo muestre los registros mediante una selección:
rptControlCrystal.WindowState = crptMaximized 'maximiza la ventana del report
rptControlCrystal.DataFiles(0)="c:\DirectorioDeTrabajo\BaseDeDatos.mdb"' Directorio donde se encuentra la base de datos
rptControlCrystal.SelectionFormula = "{Tabla.CampoClave}=" & Registro.CampoClave
donde:
rptcontrolCrystal, es el nombre que le hayas dado al control de Crystal Report.
Tabla, es la tabla que utilizas para crear el report en Crystal.
CampoClave, es el campo clave o índice de la tabla
Registro, será el recordset, control DATA, u otro objeto, que utilizas para mostrar los datos de la tabla de la BD en pantalla.
No, sé si lo he explicado bien, pero si te das cuenta es muy parecido cuando haces un WHERE en SQL. También se siguen las mismas reglas, si el campo es un estring, deberás encerrar el criterio de búsqueda entre comilla ("{Tabla.CampoClave}='" & Registro.CampoClave & "'"), si es fecha con el carácter "#", etc... Con números no hace falta.
Como tienes ya hecha la consulta en SQL, realizala de nuevo adaptándola a Crystal, elimina los Select, where, etc...; y deja sólo los campos con su criterio de selección.
Bueno espero que te sirva, si tienes duda puedes preguntármelo por e-mail.
Saludos, Jesús ............