ACCESS 2000 : COMMIT/ROLLBACK

Fermé
jeanluc - 16 oct. 2002 à 11:19
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 - 16 oct. 2002 à 18:32
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

teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
16 oct. 2002 à 12:22
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...

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"
0
blux Messages postés 26531 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 décembre 2024 3 317
16 oct. 2002 à 15:42
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"
0
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 :-)
0
blux Messages postés 26531 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 décembre 2024 3 317
16 oct. 2002 à 17:24
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"
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
16 oct. 2002 à 18:32
MDR

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

ö,ö  "Il est plus facile de donner des conseils
\_/    que de les appliquer"
0