FUNCTION mkecdx * -------------------------------------------------------* PARAMETERS p_tabname && tabname is the name of the dbf to indexed LOCAL l_retval, cOrigArea, x, nCount, n_totkeys, cKey, cCDXFile, cExpr, cTagname SET SAFETY OFF l_retval = .F. x = 1 cKey = SUBSTR(UPPER(p_tabname),1,5) IF !USED('cdxtable') USE cdxtable INDEX cdxtable ALIAS cdxtable EXCLUSIVE IN 0 ENDIF SELECT cdxtable && table contains tag names and expressions SET ORDER TO 1 IF SEEK(cKey) cCDXFile = p_tabname+'.CDX' IF FILE( cCDXFile ) USE ( p_tabname) INDEX (p_tabname) ALIAS Prime IN 0 EXCLUSIVE SELECT Prime DELETE TAG ALL OF (p_tabname) IF FILE(cCDXFile) && check to see if file has been erased MESSAGEBOX('Error erasing '+p_tabname+'.CDX',0+16,'System Error',50) RETURN l_retval ENDIF ELSE USE ( p_tabname) ALIAS Prime IN 0 EXCLUSIVE SELECT Prime ENDIF DO WHILE cdxtable.dbfkey = cKey .AND. !EOF() cExpr = TRIM(cdxtable.EXPR) cTagname = cdxtable.DESC INDEX ON &cExpr TAG &cTagname SKIP IN cdxtable ENDDO SELECT Prime USE l_retval = .T. ENDIF RETURN l_retval ENDFUNC