IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HyperFileSQL Discussion :

WD10 hyperfile reinit id automatique


Sujet :

HyperFileSQL

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut WD10 hyperfile reinit id automatique
    Bonjour, malgrés mes nombreuses recherches, je n'arrive pas a reinitialiser un id auto dans une table hyperfile.

    voila le code que j'ai utilisé pour le moment mais sans succes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TableSupprimeTout(Menu.TABLE_Partie)
    	TableEnregistre(Menu.TABLE_Partie)
     
    	res=HExécuteRequêteSQL(supp,"delete from partie")
     
    	SI res=Faux ALORS
    		Info(ErreurInfo(errComplet))
     
    	FIN
    	HSupprime(Partie)
    	HLibère(Partie)
    	HRéindexe(Partie,hNdxCompactage + hNdxSuppression )
    	HRAZ(Partie,IDPartie)
    lorsque j'ajoute un nouvel enregistrement, l'id-automatique continue au point ou il en etait. Hors, j'ai besoin qu'il reparte a 1. Dois-je gerer un nouveau champs à la main ?

    Merci d'avance de votre réponse.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    L'ID automatique ne peut être remis à zéro que lors de la création d'un nouveau fichier.
    Pour contourner ce problème la seule solution est de recopier le fichier vers un nouveau fichier (en utilisant HAlias() par ex.)

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci guardian, mais l'utilisation de HALIAS suppose la reécriture complète de mon appli. Y a t il moyen de supprimer le fichier de données ? J'ai essayé fsupprime mais ça ne fonctionne pas, comment dois-je faire pour fermer les fichiers de données ouverts ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Delete

    Mais je ne vois pas en quoi HAlias demanderait la réécriture de ton application ? Il te suffit d'ajouter un bouton quelque part et d'y mettre le code.

    Cela dit, si tu envisages la suppression pure et simple, et donc la perte des données, ce n'est pas nécessaire, une suppression physique suffit.
    Comme ton fichier est utilisé par l'application, tu dois d'abord le fermer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ResSuppression est un booléen
     
    HFerme(NomFich)
    ResSuppression=fSupprime("Dossier\NomFich.*")
    SI ResSuppression = Faux ALORS
    	Erreur(ErreurInfo( errMessage ))
    SINON
    	Info("Le fichier a été supprimé")
    FIN

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/03/2013, 17h26
  2. [WD10] Fichiers Hyperfile et POO
    Par anakronox dans le forum WinDev
    Réponses: 4
    Dernier message: 13/04/2009, 22h34
  3. Réponses: 35
    Dernier message: 05/04/2009, 18h02
  4. Réponses: 6
    Dernier message: 19/09/2006, 08h48
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo