Local loExcel, lnSheets, i, lcName, laSheetNames[1], liBond, lcFile lcFile = This.txtExcel.Value IF Empty(lcFile) RETURN .f. ENDIF This.oFile.Open('bond') CREATE CURSOR curRedemptions (; redate d, ; amount n(13,2), ; project c(16), ; bondky i) loExcel = Createobject("excel.application") loExcel.Workbooks.Open(lcFile) lnSheets = loExcel.ActiveWorkbook.Sheets.Count Dimension laSheetNames[lnSheets,1] For i = 1 To lnSheets lcName = loExcel.ActiveWorkbook.Sheets[i].Name laSheetNames[i] = lcName Endfor loExcel.Workbooks.Close() loExcel.Quit() Release loExcel For i = 1 To Alen(laSheetNames) lcName = laSheetNames[i] Append From (lcFile) Type Xl5 Sheet (lcName) Endfor Delete All For Empty(amount) Scan lcProject = Alltrim(Project) If Seek(lcProject, "bond", "proj") liBond = bond.ky Replace bondky With liBond In curRedemptions Endif Endscan USE IN bond Thisform.oFile.Open('bond_redemptions') SELECT ky ; FROM bond_redemptions ; INNER JOIN curRedemptions ON ; curRedemptions.amount = bond_redemptions.amount ; AND curRedemptions.redate = bond_redemptions.redate ; AND curRedemptions.bondky = bond_redemptions.bondky ; INTO ARRAY laDupe USE IN bond_redemptions IF _tally >0 =MessageBox("Duplicate file.", 16, "Import") RETURN .f. ENDIF SCAN ldRedate = Redate lnAmount = Amount lcProject = Project liBondky = Bondky Thisform.oRedemptions.GetRec(0) Thisform.oRedemptions.oFields.Redate = ldRedate Thisform.oRedemptions.oFields.Amount = lnAmount Thisform.oRedemptions.oFields.Project = lcProject Thisform.oRedemptions.oFields.Bondky = liBondky Thisform.oRedemptions.Save() ENDSCAN =MessageBox("Import Complete.",48,"Import")