OVH Cloud OVH Cloud

Write Conflict

1 réponse
Avatar
OWEB
Bonjour à toutes et à tous.

Exposition de mon problème

J'ai une base de données SQL Serveur 2000.
J'ai un Frontal Access 97 (et oui, il existe encore des gens qui utilisent
cette version) pour accéder aux données de la base.
Les tables sont liées par ODBC Direct.

On image que j'ai un formulaire qui accède aux données d'une table liée en
mode datasheet.

Un utilisateur, qu'on va appeler A, fait une modification sur un
enregistrement.
Au même moment (quelle idée !!), un autre utilisateur, qu'on va appeler B,
fait une modification sur le même enregistrement.

Malgrès l'avertissement qu'un autre utilisateur A fait une modification sur
cet enregistrement, B modifie et valide l'enregistrement avant A.

Du coup, quand A valide ses données, un message apparé "Write Conflict", en
lui disant qu'un autre utilisateur a modifié les données, et pose la
question s'il souhaite "Save Record", "Copy to Clipboard" ou "Drop Changes".

J'ai essayé d'intercepter cette erreur sur "Form_Error", mais n'a faire !!!
Hors, le client est roi, et il ne souhaite pas voir afficher ce message
d'erreur...

Dites moi que quelqu'un à une solution, svp....

1 réponse

Avatar
Daniel Carollo
Bonjour Oweb!

Il y a plusieur solutions:

1 - Celle qui fait plaisir au client:
Intercepter l'erreur au moment de la sauvegarde de l'enregistrement,
annuler la sauvegarde, et passer a un autre enregistrement, comme si de rien
n'etait.

2 - La bonne methode:
Intercepter l'erreur au moment de la sauvegarde de l'enregistrement,
afficher un message a l'utilisateur, du genre
msgbox "Cet enregistrement a ete modifie pendant que vous etiez en train de
le modifier", vbCritical, "Pas de pot, fallait etre plus rapide"
Raffraichir l'ecran et demander a l'utilisateur de refaire la modification
s'il y a encore lieu.

Bonne continuation.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...


"OWEB" wrote in message
news:4039cf1a$0$24933$
Bonjour à toutes et à tous.

Exposition de mon problème

J'ai une base de données SQL Serveur 2000.
J'ai un Frontal Access 97 (et oui, il existe encore des gens qui utilisent
cette version) pour accéder aux données de la base.
Les tables sont liées par ODBC Direct.

On image que j'ai un formulaire qui accède aux données d'une table liée en
mode datasheet.

Un utilisateur, qu'on va appeler A, fait une modification sur un
enregistrement.
Au même moment (quelle idée !!), un autre utilisateur, qu'on va appeler B,
fait une modification sur le même enregistrement.

Malgrès l'avertissement qu'un autre utilisateur A fait une modification
sur

cet enregistrement, B modifie et valide l'enregistrement avant A.

Du coup, quand A valide ses données, un message apparé "Write Conflict",
en

lui disant qu'un autre utilisateur a modifié les données, et pose la
question s'il souhaite "Save Record", "Copy to Clipboard" ou "Drop
Changes".


J'ai essayé d'intercepter cette erreur sur "Form_Error", mais n'a faire
!!!

Hors, le client est roi, et il ne souhaite pas voir afficher ce message
d'erreur...

Dites moi que quelqu'un à une solution, svp....