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

VBA Access Discussion :

Faire en sorte que les ID soit croissant


Sujet :

VBA Access

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 81
    Points : 41
    Points
    41
    Par défaut Faire en sorte que les ID soit croissant
    Nouvelle discussion

    Alors voilà
    Dans ma table j'ai 50 personnes!
    Donc mon dernier ID est le 50
    Imaginons que je souhaite en supprimer 5 : Il m'en reste 45 (jusqu'ici tout va bien)

    Imaginons que je rajoute une nouvelle personne : L ID devrait être 46 logiquement
    Mais non le nouveau aura comme ID 51
    Comment faire pour qu'il donne le n°46 ( et ainsi de suite pour les nouveaux 47. 48 )


    En faite je veux que mes ID soit cohérent
    je veux que toujours ça fasse 1.2.3.4.5.6.7.8.9.10.11 ....
    et pas avoir comme ID : 1.2.3..8.10.12.16

    Merci
    Justine

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Re-,

    Si le type de ton champ ID est un NuméroAuto, ce n'est pas possible.
    Ce que tu veux devrait se faire avec une gestion par code de la numérotation de l'ID avec un DMax.
    Qu'est ce qui te gène dans ce type de numérotation ?

    Bonne continuation
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 81
    Points : 41
    Points
    41
    Par défaut
    rere
    oui c'est l id automatique
    J'aime pas ça car je trouve que ça fait désordre de passer du 40 au 52
    J'aime bien quand tout se suit
    C'est comme si il manquait quelque chose
    Et aussi j'aime bien que ça se suive car en regardant le dernier id je sais combien j'ai de personne dans ma liste

    Justine

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Les ID automatiques ne sont pas faits pour être consultés ou affichés ni pour compter le nombre d'enregistrements (il y a d'autres fonctionnalités dans Access pour ça ) Ils sont juste là pour identifier un enregistrement unique et, éventuellement, faire les liaisons avec d'autres tables. Donc, en gros, on s'en fiche qu'ils se suivent ou pas. Néanmoins, il faut savoir que lorsque tu compactes ta base de données, cela réinitialise les compteurs automatiques et les valeurs se suivent à nouveau. Tu peux cocher une option pour que ta base se compacte automatiquement à la fermeture (Fichier/options/Base de donnée active/Compacter lors de la fermeture). Il est recommandé de compacter régulièrement sa BDD pour réduire sa taille. Evidemment, tu ne vas pas compacter ta base à chaque fois que tu supprimes un enregistrement :p Donc, si pour des raisons fonctionnelles, tu as absolument besoin que les numéros se suivent, madefemere a raison, il faut le faire par programmation. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function autoIncrement() As Long
        autoIncrement = DMax("monChampID", "maTable") + 1
    End Function
    Tu peux aussi le faire dans une requête avec cet exemple de la FAQ
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 81
    Points : 41
    Points
    41
    Par défaut
    Vous avez raison, je pense que je vais cacher mes identifiants et la place je veux faire autre chose mais je sais pas comment faire
    Je voudrais qu'apparaisse par exemple dans un textebox le nombre de mes enregistrements qu'il y a dans mon formulaire en mode tabulaire.
    Quel est le code qui permette ça ?
    Merci
    Justine

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 81
    Points : 41
    Points
    41
    Par défaut
    Je viens de trouver en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Ta_zone_de_texte = Me.RecordsetClone.RecordCount
    Maintenant j'aimerai le faire sur le filtre
    SI vous avez la solutions ?
    Merci
    Justine

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Il suffit de créer une textbox dans le pied de formulaire en mettant dans la propriété Source contrôle :
    ça marche avec les filtres et ton code ne sert à plus à rien :p
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    Pour voir le nombre d'enregistrement dans un formulaire, en pied de formulaire, tu mets une zone de texte avec comme source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Compte([NomDUnChampDuformulaire])
    Attention les champs doivent comporter une donnée pour être prise en compte

    @+
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  9. #9
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 81
    Points : 41
    Points
    41
    Par défaut
    trop fort
    merci beaucoup
    Justine

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/05/2015, 18h27
  2. Réponses: 4
    Dernier message: 19/11/2010, 10h43
  3. Réponses: 2
    Dernier message: 24/02/2010, 18h24
  4. Réponses: 3
    Dernier message: 17/05/2007, 20h30
  5. faire une requete qui ne sort que les valeurs d'un champ coché
    Par joseph.breham dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 13/12/2006, 17h01

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