Augmenter des tarifs avec une requête mise à jour sur Access

Publié le 20 mai 2015 par Lydia Provin @Votreassistante

Après le tutoriel sur la requête de création de table et la requête d'ajout, nous allons aborder la requête mise à jour sur Access. Une requête mise à jour sur Access est une requête permettant de mettre à jour des enregistrements existants dans une table, elle n'en supprime pas ni n'en ajoute.

Vous retrouverez la base de données utilisée dans ce tutoriel dans l' Espace membres.

Dans cet exemple, nous allons augmenter les tarifs supérieurs à 100 €.

Cependant, quelques précautions sont à prendre. En effet, si vous avez établi des factures avec votre base de données, lorsque vous voudrez consulter ou rééditer une facture établie avant l'augmentation, celle-ci comprendra le tarif augmenté, d'où l'intérêt d'avoir ajouté un champ Date lors du tutoriel sur la création de factures Access. De cette manière, je peux n'afficher, dans l'établissement de mes factures, que les tarifs en vigueur en ne choisissant que les enregistrements dont la date correspond à la mise à jour.

Pour l'augmentation, nous allons donc dans un premier temps dupliquer tous les tarifs par une requête d'ajout, puis modifier la date en vigueur et les montants par une requête mise à jour.

Une requête mise à jour ne pouvant être annulée, il est conseillé de faire cette mise à jour sur une copie de la base de données afin, en cas d'erreur, d'avoir une sauvegarde de vos données.

Ouvrez la base de données et, dans l'onglet Créer, cliquez sur Création de requête . Sélectionnez la table Tarifs par un double-clic ou en cliquant une fois, puis sur Ajouter et fermez la boîte de dialogue :

Double-cliquez sur chacun des champs présents dans la table pour les ajouter sauf ID puisqu'il est en Numéroauto et que deux Numéroauto identiques ne peuvent cohabiter dans une même table. Puis cliquez sur Ajout dans le groupe Type de requête de l'onglet Créer. Choisissez comme Nom de la table Tarifs et cliquez sur Ok :

Les noms des champs étant identiques, la ligne Ajouté à dans la grille de la requête doit s'être remplie automatiquement.

Cliquez sur Exécuter , un message vous indique que vous allez ajouter 25 lignes ce qui correspond au nombre d'enregistrements présents dans la table Tarifs :

Cliquez sur Oui, fermez la requête sans l'enregistrer, car elle ne nous resservira plus et jetez un œil à votre table Tarifs.

Pour le moment, vous devez avoir 2 fois les mêmes tarifs. Nous allons donc porter notre requête mise à jour sur le champ ID puisqu'il n'y a que celui-ci qui est différent par rapport aux premiers enregistrements (de 1 à 25 représentent les tarifs avant augmentation et 26 à 50 après augmentation).

Refermez la table et retournez, dans l'onglet Créer, sur Création de requête . Sélectionnez de nouveau la table Tarifs et choisissiez le Type de requête Mise à jour .

Nous allons d'abord modifier la date du tarif. Double-cliquez sur le champ Date. À la ligne Mise à jour, saisissez la date à laquelle le tarif entre en vigueur, ici, 06/05/2015 qui se transforme en #06/05/2015#, puis à la ligne Critères, saisissez [ID]>25 pour ne modifier la date uniquement des champs dont l' ID est supérieur à 25 ce qui correspond aux enregistrements rajoutés précédemment. Laissez la ligne Ou vide puisqu'elle ne servirait que dans le cas où nous aurions plusieurs possibilités de critères comme dans le cas d'une requête de sélection et cliquez sur Exécuter . Un message vous indique que vous allez mettre à jour 25 lignes, cliquez sur Oui : les dates sont modifiées. Puis, supprimez le contenu de la requête en survolant le haut de la grille de la requête et, au moment où vous visualisez une flèche noire , cliquez dessus et appuyez sur la touche Suppr de votre clavier.

Double-cliquez sur le champ Prix_unitaire, à la ligne Mise à jour, saisissez le nom du champ entre crochets suivis du calcul de son augmentation. Ici, pour 10 % cela donne :

[Prix_unitaire]*1,10

Comme l'augmentation ne doit être appliquée que sur les tarifs supérieurs à 100 € et uniquement sur les nouveaux tarifs, à la ligne Critères, saisissez soit [Prix_unitaire]>100 Et [ID]>25 soit [Prix_unitaire]>100 Et [Date]=#06/05/2015#.

Notez que si vous ne saisissez aucun critère, la mise à jour se fera sur tous les enregistrements de la table.

Cliquez de nouveau sur Exécuter et un message vous indique que vous allez mettre à jour, cette fois-ci, 7 lignes, ce qui correspond aux nouveaux tarifs supérieurs à 100 €.

Ouvrez votre table Tarifs afin de vérifier que vos nouveaux tarifs sont corrects.

Si c'est le cas, vous pouvez fermer la requête sans l'enregistrer, cela vous évitera de faire une mauvaise manipulation en relançant la requête (malgré le message d'alerte) ou conservez-la pour une augmentation ultérieure où il faudra l'ouvrir en Mode création .

Téléchargez " Augmenter des tarifs avec une requête mise à jour sur Access " au format PDF

Je vous propose un fichier annexe dans l'Espace Membres contenant la base de données utilisée dans ce tutoriel.