ciao,
passare al report 1a query diversa da quella che hai usato in fase di design purtroppo non è possibile, pero' puoi settare 1 filtro sui record usando la "RecordSelectionFormula" (che pero' non ha sintassi sql per intenderci).Nel tuo caso qualcosa come:
myRep.RecordSelectionFormula = "{camponumero} > 20";
Per quanto riguarda il tuo codice invece, se passi al report tu direttamente la query filtrata, guadagni agilita' nel farlo con ado.net e sicuramente meno dati caricati.
Sintatticamente parlando mi sembra corretto, ti rimando a questo esempio che ti puo' tornare utile, anche se non dal punto di vista dell'argomento specifico, ma vedi come viene caricato e riempito 1report:
http://www.dotnethell.it/tips/Crystal-Reports-BLOB.aspx
guarda infondo c'e' il file a supporto, li dentro viene caricato 1report riempito tramite ado.net, puo' tornarti utile controllare come mai il tuo codice non funziona, controlla bene in debug...
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo