Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/06/2011, 17h42   #1
Membre régulier
 
Inscription : novembre 2008
Messages : 219
Détails du profil
Informations personnelles :
Âge : 25
Localisation : Suisse

Informations forums :
Inscription : novembre 2008
Messages : 219
Points : 79
Points : 79
Envoyer un message via MSN à Bobble
Par défaut VBA/SQL server 2000: commit, rollback

Bonjour,

J'ai mes tables SQL server 2000:
Order(OrderID, ...) OrderDetails(odID, OrderID, ...) OrderDocuments(OrderID, DocumentID) Documents(DocumentID, ...)

OrderID c'est moi qui le donne, DocumentID est un int Autoincrement

j'utilise du code VBA pour les remplir. Voilà mes étapes:
1)insert in order
2) insert in Order details
3) insert in Documents
3.1) select ID du document inséré
4) insert In Order Documents

MAIS, si je met un 'begin' tout au début, un 'commit' tout à la fin et un 'rollback' en cas d'erreur: au point 2) j'ai un ODBC error et au point 3.1) aussi!
Je pense que au point 2) c'est à cause de l'ID pas encore committé dans 'Order'. Pour le 3.1) j'imagine que je ne peux pas lire l'enregistrement pas committé..

je suis alors obligée de faire:

begin
1)insert in order
commit
begin
2) insert in Order details
3) insert in Documents
commit
begin
3.1) select ID du document inséré
4) insert In Order Documents
commit

MAIS, si j'ai un problème au point 4). Comment faire four faire un rollback général?? Je suis obligée de faire des Delete sur les tables déjà committées?

Ou il existe une autre façon de faire bien plus simple?

Merci pour toute idée!
Bobble est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h14.


 
 
 
 
Partenaires

Hébergement Web