I face this problems too but manage to solve it by:<br><br>1. create only 1 crystal report object in throughout the whole application ie. the main menu.<br>2. create 1 global function to print report and handle the error handler there.<br>3. initialise all report fomulas before .printreport it.<br><br>->this will also solve the formula error.<br><br>Function PrintReport() As Boolean<br> mMain.MousePointer = vbHourglass<br> mMain.CReport.ReportFileName = RptPath + RptName<br> mMain.CReport.SelectionFormula = gString<br> mMain.CReport.Formulas(0) = gFormula0<br> mMain.CReport.Formulas(1) = gFormula1<br> mMain.CReport.PrintReport<br> If mMain.CReport.LastErrorNumber <> 0 Then<br> PrintReport = False<br> mMain.MousePointer = vbDefault<br> MsgBox mMain.CReport.LastErrorNumber & " : " & mMain.CReport.ReportFileName & " : " & mMain.CReport.LastErrorString, vbInformation + vbOKOnly, "Attention"<br> End if <br> PrintReport = True<br>End Function<br>