IF THISFORM.cborpt.Value = "23" set ansi on SELECT a.* FROM FORCE aed_info a ; LEFT JOIN \data\aed\lookloc b ON a.aedloc = b.lookcode ; LEFT JOIN \data\aed\lookhrs c ON a.hrs = c.lookcode ; LEFT JOIN \data\aed\lookpage d ON a.emspager = d.lookcode ; LEFT JOIN \data\aed\lookcaut e ON a.aed_cautn = e.lookcode ; LEFT JOIN \data\aed\looktrn f ON a.trainedby = f.lookcode ; LEFT JOIN \data\aed\lookwho g ON a.whowants = g.lookcode ; ORDER BY a.city, a.unitid ; INTO CURSOR rpt set ansi off IF THISFORM.cboOutputTo.Value = "S" REPORT FORM \arrest\reports\aedlocdt.frx PREVIEW IN SCREEN ELSE REPORT FORM \arrest\reports\aedlocdt.frx TO PRINT ENDIF ENDIFNormally you cannot have indexes with alltrim(). Fox doesn't error but doesn't trim too. I "assumed" purpose was an exact match. Then "set ansi on" does it. Either side of the expression is padded to match sizes (like == operator). Other than that if that doesn't work I'd start by only joining one table then add another till I get error.