************************************************************************************************* * Program/Function: SetDataDirectoryForTables() * Author: Ben Santiago * Company: Eastern Suffolk BOCES * Last Revision: 07/23/2004 * Description: * Set/Change data directory location for all tables in Crystal Report. ************************************************************************************************* LPARAMETERS pcNewDataLocation, pcDefaultExtension **************************************************** * Initialize Variables **************************************************** LOCAL lcNewDataLocation LOCAL lcDefaultExtension LOCAL lnCounter LOCAL lcFile **************************************************** * Validate Parameters **************************************************** lcNewDataLocation = ADDBS(pcNewDataLocation) IF VARTYPE(pcDefaultExtension) == "L" THEN lcDefaultExtension = "DBF" ELSE lcDefaultExtension = LEFT(UPPER(STRTRAN(pcDefaultExtension, ".")), 3) ENDIF **************************************************** * Loop through All Tables In Report **************************************************** WITH THIS.CrystalReport.Database.Tables FOR lnCounter = 1 TO .Count **************************************************** * Compile Full File & Path To Table **************************************************** lcFile = lcNewDataLocation + JUSTFNAME(.Item(lnCounter).Location) IF (UPPER(RIGHT(lcFile, 4)) != "." + lcDefaultExtension) AND SUBSTR(lcFile, LEN(lcFile) - 3, 1) != "." THEN lcFile = lcFile + "." + lcDefaultExtension ENDIF **************************************************** * Change Table Location **************************************************** .Item(lnCounter).Location = lcFile ENDFOR ENDWITH