ACCESS 2000 : COMMIT/ROLLBACK

Dans une procédure, j'ai un traitement itératif de lecture d'informations d' un recordset pour ensuite procéder à des mises à jour dans une table de la base via l'instruction Docmd.runSQL.
Lors de la lecture itérative des données, certaines informations nécessitent d'annuler les mises à jour faite dans la base.
Comment doit-on utiliser les commandes commit et rollback pour ce type de traitement

Do until rs.eof
s_code = rs.fields.item(0).value
if s_code = "" then
Annuler les modifs faites par l'insert (ROLLBACK)
Sortir de la procédure
else
sql = "INSERT INTO TOTO champ1 (champ1) = valeur"
docmd.RunSql = sql
endif
loop
Valider les modifs de l'insert (COMMIT)

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Euh, a moins que ma memoire flanche ou que la version 2000 est fait des progres par rapport a la 95, COMMIT et ROLLBACK en Access, ca marche pas...

    ö,ö&nbsp&nbsp"Il est plus facile de donner des conseils
    \_/&nbsp&nbsp&nbsp&nbspque de les appliquer"
    1. Modérateur
      Ben mon Teebo...

      <ton léger>
      T'as la mémoire qui flanche,
      Tu t'souviens plus très bien,
      De quelle couleur étaient ses yeux,
      J'crois bien qu'y z'étaient bleus...
      </ton léger>

      <ton ex-cathedra>
      Il faut définir un workspace...

      Exemple de code en ACCESS 97 :

      Dim Ws As Workspace
      Set Ws = DBEngine.Workspaces(0)
      Ws.BeginTrans
      ...Traitement...
      if Traitement-ok then
      Ws.CommitTrans
      else
      Ws.Rollback
      endif

      Faut pas oublier de réinitialiser ws après (sinon ça bouffe de la mémoire)
      </ton ex-cathedra>

      A+ Blux            "Les cons, ça ose tout.
      C'est même à ça qu'on les reconnait"
      1. Arf, oui, pris comme ca ca me dit bien quelque chose, mais en fait je croyais que c'etait un truc Oracle...

        Autant pour moi :-)
    2. Modérateur
      aaahhhhhhh !!!!!!!

      ça fait un bien fou de bâcher un modo ! ;-)))))))))))

      A+ Blux            "Les cons, ça ose tout.
      C'est même à ça qu'on les reconnait"
      1. Contributeur
        MDR

        Modo ca veut pas dire Monstre Omnipresent Depourvu d' Oublis hein!!! :-DDDD

        ö,ö&nbsp&nbsp"Il est plus facile de donner des conseils
        \_/&nbsp&nbsp&nbsp&nbspque de les appliquer"