PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Fichier Fic et Ndx
Fichier Fic et Ndx
Iniciado por Stéphane D., 06,jun. 2019 12:25 - 6 respuestas
Miembro registrado
230 mensajes
Publicado el 06,junio 2019 - 12:25
Bonjour à tous,
J'ai un petit problème avec un fichier Fic.
Il fait 2.2 mo mais quand je l'ouvre il ne me trouve que 105 lignes. Malgré qu'il doit y en avoir +5000
Et mon fichier Ndx ne fait que 62 ko.
Donc j'utilise le wdmap pour réindexé le fichier Ndx, et toujours 62 ko.
Je supprime mon Ndx et réindexe mais toujours en 62 ko.
Quelqu'un aurait une méthode pour réparer mon fichier Ndx ou Fic.

Merci d'avance de votre aide.

--
Stéphane.
Miembro registrado
230 mensajes
Publicado el 06,junio 2019 - 16:14
Je suis vraiment embêté avec cela et ne trouve pas de solution.
Avez vous une idée ?

--
Stéphane.
Publicado el 06,junio 2019 - 18:46
Bonjour
A tout hasard: voici une procédure trouvée il y a bien longtemps dans un forum et sert à traiter les doublons.
Peut être que ton problème sera résolu.
ElPato

En paramètres :
NomFic= nom de la table (sans .fic)
NomIdSlt= nom de la rubrique posant problème (bien souvent l'Id automatique)
nomrep = nom du répertoire contenant le .fic

Après traitement : faire une réindexation...

Procedure DoublonRepare(nomfic, nomIdSlt, nomrep)
Msg est une chaîne
probleme est une chaîne
Sablier(Vrai)



DernierIdFichier est un entier
DernierIdCalculé est un entier

HLitDernier(nomfic, nomIdSlt)
DernierIdFichier = {nomfic + "." + nomIdSlt,indRubrique}
Msg = "Dernier ID connu " + DernierIdFichier

HAjoute(nomfic,hIgnoreDoublon+hIgnoreIntégrité+hAffecteParcours)
DernierIdCalculé = {nomfic + "." + nomIdSlt,indRubrique}

SI DernierIdCalculé < DernierIdFichier ALORS
Msg = Msg + RC + "Problème détecté, correction en cours"
DélaiAvantFermeture(500)
Trace(Msg)
probleme=nomfic
//maj de la valeur de la rubrique ID auto
{nomfic + "." + nomIdSlt,indRubrique} =DernierIdFichier + 1
//Maj dans l'en-tête du fichier
HModifie(nomfic,hNumEnrEnCours,hIgnoreDoublon+hIgnoreIntégrité+hFixeIdAuto+hAffecteParcours)
SINON
Msg = Msg + RC + "Pas de problème d'identifiant"
DélaiAvantFermeture(500)
Trace(Msg)
FIN
// suppression de l'enregistrement créé par Hajoute
HSupprime(nomfic)

//Msg = Msg + RC + "Traitement terminé pour le fichier "+nomfic+" !"+rc+"Une réindexation des fichiers va commencer...."
Sablier(Faux)
.
Miembro registrado
2.321 mensajes
Publicado el 06,junio 2019 - 19:04
Bonjour,

WDOptimiseur est ton ami.

--
Bon dev,
Jean-Pierre
Miembro registrado
230 mensajes
Publicado el 07,junio 2019 - 10:13
Salut et merci pour vos réponse mais avec c'est deux méthode cela ne fonction pas...

Avez vous d'autres idées ?

--
Stéphane.
Miembro registrado
26 mensajes
Publicado el 07,junio 2019 - 10:48
assure toi déjà qu'il se remplit bien(éventuellement avec un trace des ligne a remplir mais ça risque d’être lourd si u affiche + de 50.000 lignes...)
Miembro registrado
230 mensajes
Publicado el 07,junio 2019 - 14:32
Merci pour ta réponse, je pense qu'il se rempli bien.
Là je suis sur un autre dév, j'y consacre ma journée de Mardi prochain.

Si vous avez d'autres idées n'hésitez pas.

Merci

--
Stéphane.