Kevin,
There are several different ways to set the datasource at runtime...depending on what tools you're using, there's a "Tables.SetDataSource" function, there's a report database object, etc.
What version of Crystal are you using, and which development tools/datasources are you utilizing?
(In other words, what's the format of the final 'result set'...is it a set of DBFS, or an ADO.NET dataset, or something else>)
Kevin