OVH Cloud OVH Cloud

[WD9] Fichiers hyperfile

5 réponses
Avatar
Johann
Bonjour à tous,

J'ai un petit souci avec un fichier hyperfile. Lorsque je l'ouvre avec
WDMap, il parait vide mais les informations du fichier indiquent 233
enregistrements supprimés. Losque j'ouvre mon fichier FIC avec un
éditeur de texte, je vois mes enregistrements. Comment les récupérer ?
(la réindexation ne marche pas, elle ne fait que supprimer complètement
ces enregistrements).

Merci d'avance !

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

5 réponses

Avatar
jacques trepp
Johann a écrit :
Bonjour à tous,

J'ai un petit souci avec un fichier hyperfile. Lorsque je l'ouvre avec
WDMap, il parait vide mais les informations du fichier indiquent 233
enregistrements supprimés. Losque j'ouvre mon fichier FIC avec un
éditeur de texte, je vois mes enregistrements. Comment les récupérer ?
(la réindexation ne marche pas, elle ne fait que supprimer complètement
ces enregistrements).

Merci d'avance !



je ne sais pas en wd9, mais si le procédé n'a pas changé depuis la 5.5,
il faut lire le fichier par son N° d'enregistrement, et non sa ou ses
clés, puis activer l'enregistrement par un hmodifie.

i est un entier
boucle
i++
hlit(monfic,i)
si hendehors alors sortir
hmodifie(monfic)
fin
Avatar
Johann
Merci !

Malheureusement, il me met tous mes champs à vide (à la valeur par
défaut...) Alors que dans l'éditeur de texte, je vois bien des données
écrites...
Je cherche donc toujours...

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
jacques trepp
Johann a écrit :
Merci !

Malheureusement, il me met tous mes champs à vide (à la valeur par
défaut...) Alors que dans l'éditeur de texte, je vois bien des données
écrites...
Je cherche donc toujours...



tu réponds à qui ?
dans le doute, voilà le code que j'utilise en wd55:
// SAISIE1 est un champ qui contient le nom du fichier à récupérer
hinfogene(SAISIE1)
si h.nbenr=0 alors
info("Ce fichier est vide: réparation impossible.")
retour
fin
si ouinon("Confirmez la réparation de "+SAISIE1) alors
i est un entier long=1
hgerememonon // si le fichier comporte un mémo
tantque pas h.endehors
hlit(SAISIE1,i)
si pas h.actif alors //et pas h.sup alors
hajoute(SAISIE1)
si hdoublon() alors
fin
fin
i++
fin
hferme("") ; hsecurite(0)
Prog est une chaine
Res est un entier
Res=hreindexe(SAISIE1,SAISIE1,disque+sansespace(PIECES.NVRES),ndxnormal,handle())
fin
Avatar
Johann
Malheureusement, il me détecte un fichier vide...
Infos sur le fichier (via WDmap) : Enregistrements Actifs : 0, Rayés :
0, Supprimés : 91, Total : 91



jacques trepp avait soumis l'idée :
hinfogene(SAISIE1)
si h.nbenr=0 alors
info("Ce fichier est vide: réparation impossible.")
retour
fin
si ouinon("Confirmez la réparation de "+SAISIE1) alors
i est un entier long=1
hgerememonon // si le fichier comporte un mémo
tantque pas h.endehors
hlit(SAISIE1,i)
si pas h.actif alors //et pas h.sup alors
hajoute(SAISIE1)
si hdoublon() alors
fin
fin
i++
fin
hferme("") ; hsecurite(0)
Prog est une chaine
Res est un entier
Res=hreindexe(SAISIE1,SAISIE1,disque+sansespace(PIECES.NVRES),ndxnormal,handle())
fin



--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
jacques trepp
Johann a écrit :
Malheureusement, il me détecte un fichier vide...
Infos sur le fichier (via WDmap) : Enregistrements Actifs : 0, Rayés :
0, Supprimés : 91, Total : 91



mouais :(

visiblement, on ne peut plus récupérer les enregistrements supprimés.
j'ai essayé avec HEtat() qui peut prendre les états:
hEtatRayé OU hEtatSup ou hEtatActif, etc.
mais on ne peut pas re-activer un enregistrement supprimé (en tous cas,
je n'ai pas trouvé.)
A part HLibere qui transforme un record rayé en supprimé.
dommage.
si tu as des infos ...