Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

verrou d'enregistrement

2 réponses
Avatar
Gilles Lebret
Bonjour à tous,

je suis en Access 2003 sp2
j'accède aux données d'access avec jet 4.x depuis un environnement VB ou
VBA.
ma question concerne l'accès multi-utilisateurs à une ligne d'enregistrement
(UNIQUE) d'une table.

je n'arrive pas à verrouiller une seule ligne d'enregistrement en exclusif
par un utilisateur avec les différentes variables (cf openrecordset(...
db...)
pourtant je ne fais un SELECT que sur UNE seule ligne d'enregistrement.
mais si un autre utilisateur tente à ce moment un accès sur la ligne
d'enregistrement précédente ou suivante, il est renvoyé avec une erreur
comme quoi l'enregistrement est verrouillé par un autre utilisateur alors
que cela n'est apparemment pas le cas.

est-ce qu'il y a une solution pour ne bloquer qu'une seule ligne
d'enregistrement et non une page d'enregistrements ?

merci d'avance de vos réponses

Gilles Le Bret

2 réponses

Avatar
Argyronet
Bonjour,

Vous pouvez passer en verrouillage optimiste, e.g. modifier la propriété
Verrouillage (RecordLocks) à Aucun (0) mais le risque est que 2 ou plusieurs
utilisateurs peuvent modifier le même enregistrement simultanément...

Verifiez en tout cas que dans votre cas que vous n'êtes pas en mode
Général... par défaut, les formulaires possède un verrouillage en mode "Enr
modifié" ce qui répond à la plupart des situations.

--
Argy
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour à tous,

je suis en Access 2003 sp2
j'accède aux données d'access avec jet 4.x depuis un environnement VB ou
VBA.
ma question concerne l'accès multi-utilisateurs à une ligne d'enregistrement
(UNIQUE) d'une table.

je n'arrive pas à verrouiller une seule ligne d'enregistrement en exclusif
par un utilisateur avec les différentes variables (cf openrecordset(...
db...)
pourtant je ne fais un SELECT que sur UNE seule ligne d'enregistrement.
mais si un autre utilisateur tente à ce moment un accès sur la ligne
d'enregistrement précédente ou suivante, il est renvoyé avec une erreur
comme quoi l'enregistrement est verrouillé par un autre utilisateur alors
que cela n'est apparemment pas le cas.

est-ce qu'il y a une solution pour ne bloquer qu'une seule ligne
d'enregistrement et non une page d'enregistrements ?

merci d'avance de vos réponses

Gilles Le Bret





Avatar
Gilles Lebret
Bonjour et merci de votre réponse.
Je me suis mal exprimé:
ce que je veux faire:
A partir de code VB (ou VBA) c'est accéder en mode exclusif à une ligne
UNIQUE d'enregistrement de mamière qu'elle soit verrouillée au profit de ce
seul utilisateur.
et que PENDANT que cette ligne est lockée pouvoir gérer les tentatives
d'accès d'autres users sur cette même ligne d'enregistrement à l'aide d'un
gestionnaire d'erreurs et pouvoir prendre telle ou telle décision dans la
suite du programme de ces nouveaux users

Je sais que ma question est "à cheval" sur ce newsgroup et celui de VB ...
J'ai fais des essais dans le vba d'access mais cela ne donne pas les
résultas escomptés.
Peut être y a t'il un pb de config ?
Je vous remercie par avance de vos réponses

Gilles Le Bret

"Argyronet" a écrit dans le message de
news:
Bonjour,

Vous pouvez passer en verrouillage optimiste, e.g. modifier la propriété
Verrouillage (RecordLocks) à Aucun (0) mais le risque est que 2 ou
plusieurs
utilisateurs peuvent modifier le même enregistrement simultanément...

Verifiez en tout cas que dans votre cas que vous n'êtes pas en mode
Général... par défaut, les formulaires possède un verrouillage en mode
"Enr
modifié" ce qui répond à la plupart des situations.

--
Argy
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on
obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour à tous,

je suis en Access 2003 sp2
j'accède aux données d'access avec jet 4.x depuis un environnement VB ou
VBA.
ma question concerne l'accès multi-utilisateurs à une ligne
d'enregistrement
(UNIQUE) d'une table.

je n'arrive pas à verrouiller une seule ligne d'enregistrement en
exclusif
par un utilisateur avec les différentes variables (cf openrecordset(...
db...)
pourtant je ne fais un SELECT que sur UNE seule ligne d'enregistrement.
mais si un autre utilisateur tente à ce moment un accès sur la ligne
d'enregistrement précédente ou suivante, il est renvoyé avec une erreur
comme quoi l'enregistrement est verrouillé par un autre utilisateur alors
que cela n'est apparemment pas le cas.

est-ce qu'il y a une solution pour ne bloquer qu'une seule ligne
d'enregistrement et non une page d'enregistrements ?

merci d'avance de vos réponses

Gilles Le Bret