i think you're forgeting the Setlogoninfo, for each table.
With odbc and OLE DB, you can use like this (Check the changes):
* Open the CR engine
oEngineObject = CREATEOBJECT("CrystalRuntime.application.9")
* Open the report
oReport=oEngineobject.openreport("Reportname.rpt")
**I think you're have to put this. This will tell the Data driver wich DBC **to use.
oReport.Database.Tables.item[1].SetlogonInfo("C:\data\data.dbc","","","")
* Set the location of the table
oReport.Database.Tables.item[1].location = "full path of table"
Luis
I never forget a face, but in your case I will make an exception :-)