Bonjour,
J'ai repris une application multi-utilisateurs en VBA EXCEL qui accède à une base ACESS sur un serveur.
Pour des raisons internes à l'application j'ai du sérialiser les transactions de mise à jour par les commandes begintrans, committrans.
De plus avant de lancer une transaction de mise à jour je dois accéder à une table (paramètres) contenant un enregistrement unique pour le mettre à jour.
j'accède à cet enregistrement comme suit (avant de le mettre à jour par un update -ou pas- selon les valeurs de Status et Verrou) :
req = "SELECT Status, Verrou FROM Parametres"
On Error Resume Next
Matable.CursorLocation = adUseServer
Matable.Open req, ThisWorkbook.Db, adOpenKeyset, adLockPessimistic, -1
.......
Matable.update
....
En général tout se passe bien sauf lorsqu'il y a conflit avec une même requête lancée par un autre utilisateur. je suis en vba et je n'ai pas de message d'alerte.
Ma question est double :
Comment tester que cet enregistrement n'est pas verrouillé ?
et sinon
Que se passe-t-il s'il est verrouillé ? plantage code erreur à tester ?
Merci de vos réponses
Message édité par edma le 01-12-2016 à 18:41:28