If the problem is that there is no data at all in the report then you could use the NoData event of the report to stop it opening, check help file for NoData.
If it's just that particular records don't have data which is causing the problem then you can use the IsError function to check for the error and set the value to something else.
Set the following as the Control Source for your field with the #error on the report and it will put in zero instead of #error.
=IIf(IsError([YourFieldName]),0,[YourFieldName])