>parameters mdbcname >mdbcname=(sys(5)+alltrim(sys(2003)))+'\TABLES\ACWS.dbc' > >if empty(mdbcname) > return >endif > >close all >close data > >open database (mdbcname) excl >= adbobjects(latablearray, "TABLE") > >for i=1 to alen(latablearray) && loop through each table in the array > mtablename=latablearray(i) && pick up table name from array > =opentable(mtablename) && attempt to open table >next x > >procedure opentable >parameters M.table > >x=0 >on error x=error() >use (M.table) in 0 >on error > >if x<>0 && Possible table corruption > local lnhandle,ix > lnhandle = fcreate("c:\Baddbf.txt") > do case > case "corrupt"$message() > =fputs(m.lnhandle,"Table "+m.table+" is corrupt!",48,"Unable to open table") > case "does not exist"$message() > =fputs(m.lnhandle,"Table "+m.table+" does not exist",48,"Unable to open table") > case x=1705 or "cannot access"$message() > =fputs(m.lnhandle,"Table "+m.table+" does not exist",48,"Unable to open table") > otherwise > =fputs(m.lnhandle,"Table "+m.table+": "+message()+"!",48,"Unable to open table") > endcase > =fclose(m.lnhandle) >endif >Try:
#define CRLF CHR(13)+CHR(10) ERASE ([c:\BadDbf.TXT]) close all close data open database (mdbcname) excl = adbobjects(latablearray, "TABLE") for i=1 to alen(latablearray) && ........ ..... if x<>0 && Possible table corruption local lnhandle,ix LOCAL lcStr do case case "corrupt"$message() lcStr = "Table "+m.table+" is corrupt!" case "does not exist"$message() lcStr = "Table "+m.table+" does not exist" case x=1705 or "cannot access" $ message() lcStr = Cannot access table "+m.table otherwise lcStr = Cannot access table "+m.table+": "+message()+"!" endcase STRTOFILE(lcStr+CRLF, [c:\BadDBF.TXT], 1) endif