À propos des transactions par lot
Dans un projet Microsoft Access, vous pouvez assurer l'intégrité des données pour les opérations d'insertion, de mise à jour et de suppression sur plusieurs enregistrements, en créant un formulaire dépendant qui utilise une transaction par lot.
Définition d'une transaction par lot
Une transaction par lot garantit que les informations de la base de données sont constamment cohérentes d'un point de vue logique, même lorsqu'une opération logique unique contient plusieurs opérations de base de données. Access et SQL Server traitent tous les changements de base de données à l'intérieur d'une transaction comme une seule unité de travail. Par définition, soit une transaction entièrement accomplie avec succès, auquel cas toutes les modifications sont inscrites dans la base de données, soit la transaction est rejetée et toutes les modifications apportées à la base de données sont annulées. La cohérence et la récupération d'une transaction de base de données sont garanties même en cas de défaillance du système au beau milieu de mises à jour complexes par plus d'un utilisateur.
Sans transaction par lot, chaque enregistrement est sauvegardé indépendamment dans la base de données, qui risque de rendre difficile la garantie d'intégrité des données pour une opération logique simple. Avec une transaction par lot, vous pouvez garantir un des deux éléments suivants : soit toutes les modifications sont effectuées, soit aucune modification n'est apportée à la base de données du serveur pour une simple opération logique.
Par exemple, sans transaction par lot, un utilisateur qui entre une nouvelle commande sur un formulaire dans la base de données Les Comptoirs enregistre les informations de la commande, puis chaque élément de ligne, un par un. Un second utilisateur qui exécute un état lorsqu'une commande est presque terminée apercevra des informations de commande incorrecte, telles qu'une commande sans élément de ligne ou un élément de ligne au lieu de deux. Avec une transaction par lot, le second utilisateur apercevra uniquement un état contenant des informations de commande complètes ou aucune de ces informations.
Lorsque vous mettez un formulaire à jour dans une transaction par lot, trois événements peuvent se produire :
Valider une fois les modifications apportées à plusieurs enregistrements, vous sauvegardez tous les enregistrements et ils sont correctement mis à jour sur le serveur de la base de données. Tous les enregistrements mis à jour sont resynchronisés afin d'extraire les champs calculés, les valeurs par défaut et autres informations générées par le serveur. La position de l'enregistrement, l'ordre de tri et le filtre restent identiques.
Restaurer Après avoir modifié plusieurs enregistrements, vous tentez de sauvegarder tous les enregistrements, mais la transaction par lot échoue. Le serveur de base de données renvoie une erreur sur un ou plusieurs des enregistrements, telle qu'une contrainte ou une violation de verrouillage. Néanmoins, toutes les modifications de données en suspens sur le formulaire sont conservées, de manière à ce que vous puissiez corriger l'erreur et sauvegarder à nouveau les enregistrements sans devoir retaper toutes les modifications.
Annuler tous les enregistrements Après avoir modifié plusieurs enregistrements, vous cliquez sur Annuler tous les enregistrements dans le menu Enregistrements. Access ignore toute modification et renvoie le formulaire et les données à leur état d'origine avant le début de la transaction par lot. Le serveur de base de données ne perçoit aucun changement.
Partager