Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Corrupted dbf names in txt file
Message
From
11/01/2007 08:04:38
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Corrupted dbf names in txt file
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01184495
Message ID:
01184495
Views:
63
Dear Experts

I use following procedure to findount corrupt tables in a dbc,
Then store the name of all corrupt dbf's in ("c:\Baddbf.txt").
Then proble is:
If more than one dbf is corrupted then only last dbf name is stored into txt file.

Please modify codes, how to store the name of all dbf's into given txt file.

Please help.
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
Next
Reply
Map
View

Click here to load this message in the networking platform