Bonjour,
J'ai un problème "conflit d'écriture" sur une base Access. Les tables sont des tables liées par ODBC 3.51 sur une base mysql (5.0.27).
Pour le moment, je suis seul à utiliser la base, suite aux différents postes traitant ce problème sur ce forum et à la faq, j'ai vérifié:
- que la base n'était pas ouverte en mode exclusif
- que le formulaire n'est ouvert qu'une seule fois
- que j'ai pas de requêtes qui accèdent à la base de donnée en même temps
Le formulaire a les propriétés type recordset "feuille de réponse dynamique", verrouillage "aucun".
j'ai tenté sur le driver odbc de cocher l'option "Return Matching rows" (et relier les tables dans access).
Dans le VBA de mon formulaire, j'ai tenté
Le seul autre code VBA que j'ai sur mon formulaire est sur l'activation, de simples tests de champs pour vérifier quels onglets doivent être affichés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private sub Form_Dirty(Cancel as Integer) Docmd.RunCommand acCmdSaveRecord End Sub
Je n'ai le problème de conflit d'écriture uniquement lorsque je tente de remplacer la valeur d'un champs par la même valeur.
Si je modifie la valeur du champs titre "test" par "test" j'ai le message de conflit d'écriture, si je modifie la valeur "test" par "test2" aucun problème...
Certaines modifications de ma base de données sont interdites (tel que modifier le type de document en "archives" si l'utilisateur ne fait pas partie du groupe "responsable", par contre même si il ne fait pas partie du groupe responsable l'utilisateur pourrait changer le type de document (changer le type "Document" en "Matériel multimédia" par exemple en cas d'erreur d'encodage)) Je gère dès lors le problème en stockant le type de document dans une variable, before_update je teste les droits de l'utilisateur et en cas de problème, je réinitialise le type de document avec celui qu'il y avait avant le changement ==> message d'erreur "conflit d'écriture".
merci d'avance
Partager