Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Corrupted dbf names in txt file
Message
De
11/01/2007 08:04:38
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
Corrupted dbf names in txt file
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows XP
Database:
Visual FoxPro
Divers
Thread ID:
01184495
Message ID:
01184495
Vues:
64
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
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform