>> FOR lnCount = 1 TO lnObjects >> loObject = EVALUATE('THIS.' + laObjects[lnCount]) >> IF UPPER(loObject.BaseClass) = 'CURSOR' >> lcDatabase = loObject.Database * If this is a free table, <b>it's .CursorSource</b> >> IF !EMPTY(lcDatabase) >> loObject.Database = ForcePath(lcDatabase, lcPathSet) ELSE loObject.cursorsource=ForcePath(loObject.cursorsource, lcPathSet) >> ENDIF EMPTY(lcDatabase) >> ENDIF UPPER(loObject.BaseClass) = 'CURSOR' >> NEXT lnCountI simply prefer using ForcePath(), not because it's an old FoxTools function, but because it doesn't care whether the path has a final backslash or not.