Hoje não trabalho mais com Crystal
Mas quando trabalhava, eu fazia algo parecido com o que o Ghost falou...
mas eu não tinha um tabela no banco... eu criava um Recordset desconectado na minha aplicação, e preechia ele com os dados do relatorio, já formatados e filtrados... depois jogava aquele recordset no source do crystal... tem uma propriedade que permite fazer isso, nao me lembro qual...
Mas hoje não uso mais o Crystal... há algum tempo que tenho desenvolvido com o Office (jogando os relatorios no Word ou Excel)... isso por opção dos proprios clientes... fica mais facil para eles trabalharem com os relatorios depois...
Fora isso costumo usar o Data Designers do VB 6... tambem existe o Active Reports, que me pareceu muito em alguns testes que ja fiz...