formateur informatique

Décaler le début de la numérotation automatique avec Access

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Décaler le début de la numérotation automatique avec Access
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Définir le début de la numérotation

Avec une clé primaire typée en numéroAuto, la numérotation commence forcément à partir de l'indice 1. Si le client créé est supprimé, le nouvel indice attribué est le numéro 2 pour le prochain client. Un numéro déjà employé, même supprimé, n'est jamais réutilisé dans une clé primaire auto-incrémentée.

L'idée est de débuter la numérotation des clients ou des factures à partir d'une valeur définie manuellement pour ne pas donner l'illusion que la société est fraichement créée. Mais naturellement, il est exclu de reproduire le précédent procédé des centaines de fois. Et comme vous le savez, il n'est pas possible de saisir une valeur dans un champ auto-incrémenté. C'est la raison pour laquelle cette nouvelle astuce Access montre comment solutionner cette problématique.

Base de données source
Les démonstrations peuvent s'établir à partir d'une petite table vide offrant un champ de clé primaire auto-incrémenté. Néanmoins, nous suggérons de récupérer une table existante.
  • Télécharger le fichier debut-numerotation-identifiant.rar en cliquant sur ce lien,
  • Le décompresser dans le dossier de votre choix,
  • Double cliquer sur la base de données résultante pour l'ouvrir dans Access,
  • Cliquer sur le bouton Activer le contenu du bandeau de sécurité,
  • Puis, dans le volet de navigation sur la gauche de l'écran, double cliquer sur la table T_Clients,
Comme vous pouvez le voir, cette table est constituée de trois champs. Le premier est effectivement celui de la clé primaire.
  • Saisir un nom dans le champ C_nom et un prénom dans le champ C_Prenom,
Le premier numéro est effectivement attribué et il débute à l'indice 1.
  • Cliquer droit sur l'étiquette de ligne de l'enregistrement ainsi créé,
  • Dans le menu contextuel, choisir Supprimer l'enregistrement,
  • Puis, valider l'alerte qui suit,
Nous retrouvons une table vierge.
  • Saisir de nouveau un nom et un prénom dans les champs dédiés,
Premier numéro automatique supérieur à 1 dans table Access après suppression d-enregistrement

Sans surprise, c'est bien le numéro 2 qui est automatiquement attribué à ce nouvel enregistrement remplaçant le précédent.
  • Supprimer de nouveau cet enregistrement puis fermer la table T_Clients,
Créer le premier numéro par requête
Pour imposer le début de la numérotation sur un indice bien défini, l'astuce consiste à exploiter une requête Ajout avec un champ calculé. Ce champ calculé doit demander à l'utilisateur de préciser le numéro de départ, au moment de l'exécution. Ce numéro doit être forcé dans le champ de la clé primaire puisque l'inscription manuelle n'est pas possible.
  • En haut de la fenêtre Access, cliquer sur l'onglet Créer pour activer son ruban,
  • Dans la section Requêtes du ruban, cliquer sur le bouton Création de requête,
  • Dans la boîte de dialogue qui suit, cliquer sur le bouton Fermer,
Ainsi, nous n'ajoutons aucune table. En effet, la requête à construire est spécifique. Elle est destinée à ajouter des données dans une table à définir en aval.
  • Dans le ruban Créer, cliquer sur le bouton Ajout,
  • Dans la boîte de dialogue qui suit, choisir la table T_Clients avec la liste déroulante,
Créer une requête Ajout avec Access pour définir le début de la numérotation automatique

Nous venons de transformer la requête. Il ne s'agit plus d'une simple requête sélection, mais d'une requête destinée à insérer des données. A ce titre, vous voyez apparaître la ligne Ajouter à dans la grille de requête, en bas de l'éditeur.
  • Dans la zone Champ de la première colonne, saisir la syntaxe suivante :
Depart:[Quel numéro ?]

Nous venons de créer un champ calculé paramétré. Il se nomme Depart. Et comme le veut la syntaxe Access, il est suivi du symbole des deux points (:). Ils annoncent le traitement à suivre. En guise de traitement, nous lui passons un champ, en attestent les crochets. Mais ce champ n'existe pas. Ce leurre imposera d'afficher son contenu au moment de l'exécution. L'utilisateur n'aura plus qu'à renseigner la valeur, en l'occurrence du numéro, pour que l'insertion se produise. Mais encore faut-il indiquer à la requête dans quel champ l'insertion doit avoir lieu.
  • Dans la zone Ajouter à, taper le nom du champ C_num,
Il s'agit bien du champ de la clé primaire.

Requête Ajout Access pour décaler le début de la numérotation automatique de la clé primaire
  • A gauche du ruban Créer, cliquer sur le bouton Exécuter,
  • A l'invite, taper par exemple la valeur 999 pour le champ paramétré puis valider,
Boîte de dialogue de requête Access pour taper la valeur du début de la numérotation automatique

Une alerte apparaît puisqu'il s'agit de toucher au coeur des données.
  • Valider l'alerte en cliquant sur le bouton Oui,
  • Fermer la requête sans l'enregistrer,
  • Dans le volet de navigation, double cliquer sur la table T_Clients,
Un enregistrement non abouti existe. Il s'agit de celui créé par notre requête. Seul l'identifiant est renseigné.
  • Cliquer droit sur son étiquette de ligne,
  • Dans le menu contextuel, choisir la commande : Supprimer l'enregistrement,
  • Créer un nouvel enregistrement en renseignant le nom et le prénom,
Commencer la numérotation automatique à 1000 dans une table Access

Comme vous pouvez le voir, nous avons parfaitement réussi à décaler le point de départ de la numérotation automatiquement incrémentée. Elle débute désormais à Mille.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn