LOCAL oCR AS CRAXDRT.Application LOCAL oRpt AS CRAXDRT.Report LOCAL oDB AS CRAXDRT.Database LOCAL ocDBT AS CRAXDRT.DatabaseTables LOCAL oDBT AS CRAXDRT.DatabaseTable LOCAL oConn AS ADODB.Connection LOCAL oRS AS ADODB.Recordset LOCAL oExp as CRAXDRT.ExportOptions set deleted on oConn = CREATEOBJECT("ADODB.Connection") oConn.ConnectionString = "Provider=VFPOLEDB.1;Data Source=c:\metacomet\data\royalty.dbc;Password=''" oConn.Open() oRS = CREATEOBJECT("ADODB.RecordSet") oRS.Open('select * from options',oConn) oCR = CREATEOBJECT("CrystalRuntime.Application") oRpt = oCR.OpenReport("options.rpt") oDB = oRpt.Database() ocDBT = oDB.Tables() oDBT = ocDBT.Item(1) oDBT.SetDataSource(oRS) && Error occurs on this line on second execution oExp = oRpt.ExportOptions() oExp.DestinationType = 1 && crEDTDiskFile oExp.FormatType = 29 && crEFTExcel70 oExp.ExcelUseConstantColumnWidth = .f. oExp.DiskFileName = getfile('xls','Choose location to save file','Open',0,'Save Report') if !EMPTY(oExp.DiskFileName) orpt.Export(.F.) ENDIF oRS.close() oConn.Close() oRS = .null. oConn = .null. oexp= .null. odbt= .null. oDB = .null. ocdbt = .null. odb = .null. oRpt = .null. ocr = .null. return