OVH Cloud OVH Cloud

Utilisation d'une transtaction

2 réponses
Avatar
jbenchetrit
Bonjour,

Je voudrai utiliser une transaction BeginTrans, CommitTrans et RollbackTrans
sur un formulaire qui contient un sous formulaire ceci afin d'empêcher des
mises à jour des tables en cas d'abandon de la saisie.

le formulaire fait par exemple référence à une table Facture.
Le sous formulaire fait référence à une table LignesFacture.

J'aimerai mettre dans mon formulaire deux boutons :
Valider pour valider la transaction
Annuler pour annuler la transaction et fermer le formulaire.

Bien entendu quand on clique sur le bouton Annuler les deux tables ne
doivent pas être modifier.

Table Facture :
Champ 1 Nom alpha de 50
Champ2 NoFact numérieque entier et 0 décimale
Table LigneFAct :
Champ 1 NoFactLig numérieque entier et 0 décimale
Champ2 NoLigne numérieque entier et 0 décimale
Champ3 Montant Reel double avec 2 décimales

j'ai essayé, comme suit, sans sucès :
à l'ouverture du formulaire : BeginTrans
sur le bouton Valider : CommitTrans
sur le bouton Annuler : RollbackTrans

Je n'ai pas trouvé d'exemples d'utilisation d'une transaction.

MERCI de vos conseils et si possible d'une petite source.

Jacques

2 réponses

Avatar
3stone
Salut,

"jbenchetrit"
| Je voudrai utiliser une transaction BeginTrans, CommitTrans et RollbackTrans
| sur un formulaire qui contient un sous formulaire ceci afin d'empêcher des
| mises à jour des tables en cas d'abandon de la saisie.


Dans les formulaires,les transactions sont implicite...

Tu peux utiliser l'événement "Avant mise à jour" du formulaire
pour annuler cette mise à jour.


Sinon, tu peux regarder ceci:
http://minilien.com/?BD29kReWZh


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
jbenchetrit
Salut,

J'ai essayé l'exemple. Il fonctionne parfaitement. MERCI.

Mais à condition que le formulaire s'appuie sur 1 seule table. C'est déjà
pas mal. MERCI.

Dans mon cas le formulaire s'appuie sur 2 tables donc un formulaire avec un
sous formulaire.
Evidemmment mon souhait est de ne rien écrire dans les 2 tables en cas de
Rollback.

L'exemple fonctionne bien pour la table principale mais les informations
déja saisies pour la seconde table s'écrivent dans la table malgré le
Rollback.

Avez vous une solution ?

MERCI de votre aide.

Jacques

=========================================================================== == "3stone" a écrit dans le message de news:

Salut,

"jbenchetrit"
| Je voudrai utiliser une transaction BeginTrans, CommitTrans et
RollbackTrans

| sur un formulaire qui contient un sous formulaire ceci afin d'empêcher
des

| mises à jour des tables en cas d'abandon de la saisie.


Dans les formulaires,les transactions sont implicite...

Tu peux utiliser l'événement "Avant mise à jour" du formulaire
pour annuler cette mise à jour.


Sinon, tu peux regarder ceci:
http://minilien.com/?BD29kReWZh


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw