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

Access Discussion :

Remettre ID (incrément) à zéro


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut Remettre ID (incrément) à zéro
    Salut,

    J'ai une petite question toute bête (comme d'hab dirait certain)
    Quand on supprime des enregistrements dans Access, l'ID qui est auto-invrémenté repart à partir du dernier enregistrement supprimé, par exemple si je supprime tous les enregistrements (1 à 120), les prochaines insertions seront 121, 122 ...
    Or j'aimerais pouvoir remettre le compteur à zéro, et j'irais plus loin encore, pouvoir par exemple remettre le compteur dans l'ordre car si je supprime l'enregistrement 4 à 20 les prochaines insertions seront 1, 2, 3, 21, 22...

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    Salut,

    Pour remettre a zero les numero auto, il faut effacer les tables que tu veut remettre a zero et compacter la base.

    Outil -> utilitaire de bases de données -> Compacter une base de données

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    Effacer les tables
    Mais je ne peux pas, ya pas une solution moins "radicale"

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    A ma connaissance il n’est pas possible de changer la valeur des numéroautos si la table en question contient des enregistrements.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par guigui11
    Effacer les tables
    Mais je ne peux pas, ya pas une solution moins "radicale"
    Bonjour,

    Je crois que ce que veut dire Fred978, c'est qu'il faut effacer le contenu de la table, mais pas sa structure. Ce que tu dis faire dans ton message par ailleurs.
    Puis ensuite tu compactes la base.

    JMarc

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    C’est tout a fait ca jeanchcom.


  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par fred978
    C’est tout a fait ca jeanchcom.
    Oui, mais je ne sais pas si c'était évident pour guigui qui semblait penser qu'il lui fallait effacer les tables strucures et données, et qui donc trouvait cela radical.

    Cependant, cela ne résoud pas son problème de numéroter "dans les trous" de la table... ce qui parait impossible avec un champ num auto.
    Mais si le champ n'est pas en num auto, un petit bout de code pourrait vérifier l'existence de ces "trous" et affecter la première valeur disponible, non ?

    JMarc

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    salut,

    Mais si le champ n'est pas en num auto, un petit bout de code pourrait vérifier l'existence de ces "trous" et affecter la première valeur disponible, non ?
    Il serait tout à fait possible de faire ainsi effectivement. Simplement je doute de l'efficacité de ce code. Parce qu'il faudrait chaque fois parcourir un recordset complet pour trouver les "trous". Sur une petite base ça va, mais dès quelques milliers de records, je pense qu'il va y avoir une grosse perte de temps!

    Mais à part ça, je ne vois pas l'intérêt de vouloir "boucher les trous"... D'autant plus que cela pourrait poser problème si tu as mal codé ton programme.

    Imagine une Table1 avec Table1ID, Champ1, Champ2, ... et une Table2 avec Table2ID, Table1ID, Champ3, Champ4, ...
    Si tu as correctement fait le design de ta DB, tu as indiqué que Table2.Table1ID était une clé externe. Donc il ne te laissera pas supprimer un record de Table1 s'il existe un record dans Table2 lui faisant référence... Par contre, si tu n'a pas fait ça, et que tu supprimes un record dans Table1 puis que tu ré-utilises le même ID pour un nouveau record, tu auras des liens "foireux" avec Table2 qui ne correspondent pas à ce que tu veux...

    Voilà, je ne suis pas sûr d'avoir été clair... Et si vous n'avez pas compris, je peux essayer de faire mieux :-)

    A+

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 166
    Points
    166
    Par défaut
    Oui, moi j'ai bien compris et je suis complètement d'accord avec toi, et j'aimerai comprendre quel interet guigui11 a à faire cette manip.

    Sinon, mais je change un peu de sujet, j'aimerai comprendre ce qu'est un recordset ou bien est-ce un nom anglais dont je connaitrais le nom français...
    J'ai cherché des infos dans les tutos du site, mais cela me semble d'un niveau développeur avancé que je ne possède pas.

    Qui aurait une explication simple sur les avantages des recordset et la manière de les utiliser ? ou peut-être n'ai je pas bien chercher dans la FAQ...

    Merci,,

    JMarc

  10. #10
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    Tout dabord merci pour vos réponses, je n'ai pas pu réagir avant car j'étais à la "soupe".
    Sinon oui effectivement j'avais compris "supprimer" les tables donc petit mal entendu avec fred978.
    alors je voudrais réalisé cette opération surtout pour un affichage plus esthétique pour les utilisateurs et surtout avoir un enchainement cohérent dans mes ID.
    Sinon en ce qui concerne les "trous" dans mes tables, je crois que je m'en contenterais, car en fait mes tables sont plus souvent "vidées" donc "effacée" (pour reprendre le terme de fred978 ) entièrement aprés réplication donc finalement la remise à "zéro" me convient parfaitement (si ça fonctionne)
    Je teste et je vous tient au courant.

  11. #11
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    Le gagnant est............ fred978

    Effectivement ça fonctionne, je compacte ma base est cela me remet le compteur de mes ID à zéro !! Youpi !!
    Par contre je vais êre chiant jusqu'au bout, mais j'aime pas trop faire des choses dont je ne sais pas ce que cela veux dire exactement.
    Par conséquent, à quoi consiste concrètement l'option "Compacter une base de données"

    Merci encore

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 166
    Points
    166
    Par défaut
    Je t'aurais donné la réponse également, mais comme je n'avais pas l'info concernant les "trous"... je n'ai pas répondu...

    Sinon, en ce qui concerne le compactage, dans la FAQ tu tapes COMPACTER et tu auras un choix de 8 items !

    JMarc

  13. #13
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par jeanchcom
    Je t'aurais donné la réponse également, mais comme je n'avais pas l'info concernant les "trous"... je n'ai pas répondu...
    Je n'en doute pas une seule seconde mais c'est pas grave, ce n'était que optionnel, le plus important c'est que je puisse remettre à zéro mon compteur ID.

    Je vais allé voir tout de suite du côté de la FAQ

    Merci

  14. #14
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 132
    Points : 91
    Points
    91
    Par défaut
    J'ai trouvé l'info en ce qui concerne les trous dans les ID, elle ne se trouvait pas bien loin, car elle est dans la FAQ. Honte à moi qui suis même pas capable de faire une recherche

    jeanchcom regarde dans ce tuto de laFAQ ils décrivent une fonction qui permet de combler les trous dans des champs numérique et non pas Numéro-Auto car
    "Combler les trous dans un numéroAuto" est tout simplement une aberration
    Voilà pour notre histoire de trous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment remettre le log à zéro ?
    Par wizou44 dans le forum SAS Base
    Réponses: 10
    Dernier message: 19/07/2019, 03h07
  2. [c#] remettre à zéro une form
    Par erazorhead dans le forum Windows Forms
    Réponses: 13
    Dernier message: 06/04/2006, 15h48
  3. remettre à zéro un compteur sql
    Par luimême dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/01/2006, 12h35
  4. [debutant]Comment remettre l'auto-incrémentation à 0
    Par syl2095 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 16h51
  5. Remettre un générateur à Zéro
    Par PrinceMaster77 dans le forum SQL
    Réponses: 4
    Dernier message: 10/12/2004, 23h17

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