Partager via


Méthodes BeginTrans, CommitTrans et RollbackTrans (ADO)

S’applique à : Access 2013, Office 2013

Ces méthodes de transaction gèrent le traitement des transactions dans un objet Connection de la façon suivante :

  • BeginTrans: lance une nouvelle transaction.

  • CommitTrans: enregistre les modifications apportées et termine la transaction active. Lance aussi parfois une nouvelle transaction.

  • RollbackTrans: annule les modifications apportées pendant la transaction active et termine celle-ci. Lance aussi parfois une nouvelle transaction.

Syntaxe

Niveau = objet . BeginTrans()

objet . BeginTrans

objet . CommitTrans

objet . RollbackTrans

Valeur renvoyée

BeginTrans peut être appelée en tant que fonction qui retourne une variable de type Long indiquant le niveau d'imbrication de la transaction.

Paramètres

Paramètre Description
object Objet Connection.

Connection

Utilisez ces méthodes avec un objet Connection pour enregistrer ou annuler en bloc une série de modifications apportées à la source de données. Par exemple, pour un transfert financier entre deux comptes, vous devez soustraire un montant de l'un et ajouter ce même montant à l'autre. Si l'une des deux mises à jour échoue, les comptes ne sont pas équilibrés. Si ces modifications sont effectuées par l'intermédiaire d'une transaction ouverte, vous êtes assuré de l'échec ou de la réussite de toutes les modifications.

Remarque

[!REMARQUE] Les transactions ne sont pas prises en charge par tous les fournisseurs. Vérifiez que la propriété définie par le fournisseur Transaction DDL s’affiche dans la collection Properties de l’objet Connection, ce qui indique que le fournisseur prend en charge les transactions. Si le fournisseur ne prend pas les transactions en charge, l'appel de l'une ou l'autre de ces méthodes génère une erreur.

Une fois que vous appelez la méthode BeginTrans, le fournisseur ne valide plus instantanément les modifications que vous apportez jusqu'à ce que vous appeliez CommitTrans ou RollbackTrans pour mettre fin à la transaction.

Pour les fournisseurs qui prennent en charge les transactions imbriquées, l'appel de la méthode BeginTrans dans une transaction ouverte lance une nouvelle transaction imbriquée. La valeur de retour indique le niveau d'imbrication ; ainsi, la valeur 1 indique que vous avez ouvert une transaction de niveau supérieur (la transaction n'est pas imbriquée dans une autre), la valeur 2 que vous avez ouvert une transaction de deuxième niveau (une transaction imbriquée dans une transaction de niveau supérieur), etc. L'appel de la méthode CommitTrans ou RollbackTrans n'affecte que les dernières transactions ouvertes ; vous devez fermer ou annuler la transaction active pour pouvoir résoudre des transactions de niveau supérieur.

L'appel de la méthode CommitTrans enregistre les modifications apportées dans une transaction ouverte sur la connexion et clôture la transaction. L'appel de la méthode RollbackTrans permet d'annuler toutes les modifications effectuées dans une transaction ouverte et de clôturer la transaction. Si aucune transaction n'est ouverte, l'appel de ces méthodes génère une erreur.

Depending on the Connection object's Attributes property, calling either the CommitTrans or RollbackTrans methods may automatically start a new transaction. If the Attributes property is set to adXactCommitRetaining, the provider automatically starts a new transaction after a CommitTrans call. Si la propriété Attributes a la valeur adXactAbortRetaining, le fournisseur lance automatiquement une nouvelle transaction après un appel à RollbackTrans.

RDS (Remote Data Service)

Les méthodes BeginTrans, CommitTrans et RollbackTrans ne sont pas disponibles sur un objet Connection côté client.