Redressement (récupération)
des Tables
La
méthode employée diffère de la "Récupération
de table..." de Paradox.
Le principe utilisé ici consiste à prendre une copie vide de
la table à récupérer (à partir de SQU) ; puis
on ajoute les données provenant des fichiers .DB & .MB (en oubliant
les Index primaire, secondaires, les fichiers .VAL ou .SET).
Cela
marche bien dans la plupart des cas (index abîmés, index et date
basés sur des ordres de tri différents, fichier .VAL endommagé,
etc.). Il arrive que la méthode corrige des problèmes non détectés
par Paradox 7 (certaines erreurs de chaînage). Cependant, il arrive
aussi que l'on ne puisse récupérer une table ; il faut alors
essayer la méthode traditionnelle (voir plus bas).
Principe
- copie de la table
".DB" & ".MB" dans le sous-répertoire RECUP ;
- restauration du squelette
de la table (vide), à partir de SQU.zip ;
- ajout des enregistrements
de RECUP dans la table vide.
Notes
- Le logiciel de récupération
crée le fichier C:\TEMP.BAT (ce fichier doit avoir la propriété
"Fermer en quittant" : bouton droit de Windows).
- Le logiciel utilise
C:\RECUPP & C:\TEMPP
- Le sous-répertoire
RECUP est supprimé à la fin.
- Les répertoires C:\RECUPP
& C:\TEMPP sont supprimés à la fin.
- Les fichiers groupés
vont toujours ensembles.
- PKZIP & PKUNZIP doivent
être dans le Path.
- Les contrôles de validité
sont ignorés.
- Intégrité référientielle
: les enregistrements incorrects sont supprimés.
Mise en place
- Copier dans le répertoire
de l'application la table StoAdm.*
- Copier dans le PATH
les fichiers PKZIP.EXE & PKUNZIP.EXE
- Mettre en place une
procédure d'appel à la fiche RDRTABLE.fsl.
Création du
squelette (SQU)
- A faire une seule fois
par application (et à chaque changement de structure d'une table).
- Dans la fiche, en mode
exécution, il faut cliquer sur le bouton "Prépa",
puis aller dans l'onglet "Préparation".
- Remplir les champs.
- Cliquer sur le bouton.
Utilisation
En étant dans le
répertoire de l'application :
- Lancer la fiche RDRTABLE.fsl
- Indiquer la table ou
les 2 tables s'il y a des tables avec intégrité référentielle
(voir les exemples).
- Cliquer sur le bouton
"Récupération".
- Attendre le message
de fin indication du nb d'enregistrements).
- Dire 3 fois à
haute voix : "Merci Michel Claveau Informatique ! ".
Conseils
- Faites quand même
une sauvegarde auparavant.
- Il faut être
le seul sur les tables concernées.
- Pour les cas difficiles,
il est possible de tenter une récupération manuelle (par Paradox),
au milieu de la procédure (chercher, dans le code, l'expression "Récup.Manuelle").
Cette récupération ne portera que sur les fichiers .DB &
.MB. Elle peut marcher là où une récupération
sur la table entière ne marche pas (sans garantie toutefois).