Conflit d'écriture sur une table via Access

Résolu/Fermé
Dereck - 20 sept. 2017 à 16:58
 Dereck - 20 sept. 2017 à 22:27
Bonjour,
Je travaille présentement sur un formulaire Access auquel j'ai ajouté quelques champs. Ma base de données se trouve sur une serveur SQL. Aussitôt que je met à jour la liaison via le Gestionnaire d'attaches, mon formulaire cesse de fonctionner. Je peux insérer les données une première fois, mais aussitôt que j'y retourne j'ai le message d'erreur suivant : Conflit d'écriture Cet enregistrement a été modifié par un autre utilisateur depuis que vous avez commencé à le modifier. Si vous enregistrez vos modifications, vous remplacerez celles effectuées par l'autre utilisateur.... Il m'est impossible de cliquer sur le bouton "Sauvegarder enregistrement", car celui-ci est désactivé.

Il me semble que ça n'ai pas de lien avec mon formulaire, car j'ai le même problème lorsque je tente de modifier directement une valeur dans ma table (via Access) sans passer par le formulaire.

Connaissez-vous une cause potentielle?
A voir également:

3 réponses

yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
20 sept. 2017 à 19:33
bonsoir, la liaison fonctionne-t'elle avant que tu la mettes à jour?
pourquoi la mets-tu à jour?
si tu fermes et ouvres Access, as-tu de nouveau la possibilité de faire une seule mise à jour?
cela fonctionne-t-il mieux si tu n'utilises jamais le formulaire?
0
Merci pour votre réponse (très rapide)! :)
Pour répondre à votre question, je l'ai mis à jour parceque j'ai rajouté de nouveaux champs dans cette table.

Je viens tout juste de créer un nouveau document Access dans lequel je connecte ma table attachée via un fichier DSN.

J'ai fait mes tests sans formulaire, directement dans la table attachée sur Access. J'arrive à créer une nouvelle entrée dans la table, je peux lui mettre des valeurs sans problème. C'est lorsque je viens pour modifier une valeur que j'ai le message suivant : Conflit d'écriture / Cet enregistrement a été modifié par un autre utilisateur depuis que vous avez commencé à le modifier....

De plus, si j'essaie de supprimer cette nouvelle entrée, j'ai ce message : Le moteur de base de données Microsoft Office Access a arrêté le traitement parceque vous et un autre utilisateur tentez de modifier les mêmes données en même temps.

Merci beaucoup de votre aide, c'est très apprécié :)
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
20 sept. 2017 à 20:09
peut-tu créer plusieurs enregistrements, sans les modifier?
ensuite, fermer Access, le rouvrir, et essaye de modifier un enregistrement, puis l'autre.
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
20 sept. 2017 à 20:19
il semble que cela soit parfois causé par la présence de certains types de champs dans la base de données SQL.
quel logiciel utilises-tu pour cette base SQL, et quels sont les types des champs que tu as ajouté? après tout, le problème n'est-il pas apparu après avoir ajouté des champs?
à tout hasard, si tu as ajouté des champs dans la base SQL, parfois utile de "compresser/réparer" la base Access.
0
La base de donnée fonctionne sous Microsoft SQL Server 2008.
J'ai rajouté 10 nouveaux champs. (bit, numeric(18, 0) ainsi que int) Ce sont des formats qui existait déjà dans cette table. Ces nouveaux champs acceptent des entrées nulles.

Merci pour l'info, je passe régulièrement par Gérer / Compacter une base de données. Est-ce qu'il s'agit de la même fonction?
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471 > Dereck
Modifié le 20 sept. 2017 à 21:33
un champ de type bit a mauvaise réputation dans ce contexte si il accepte une valeur nulle. il semble qu'il faudrait changer la valeur par défaut en 0 ou 1, et ne laisser aucun enregistrement avec ce champ à NULL.
(oui, je pense qu'il s'agit de la même fonction)
0
Merci!!!! Ça fonctionne!

J'ai avant tout converti tout ce qui était null pour false et ensuite j'ai changé l'attribut sur les champs. Access ne me cause plus ce problème. J'avoue avoir cherché longtemps, vous m'avez sauvé tellement de temps!

C'est logique de ne pas laisser un champ BIT sans valeur, mais je n'y avais pas pensé quand j'ai créé ces champs. J'ai encore beaucoup à apprendre de SQL!

Encore une fois Merci beaucoup pour votre aide.
0
Oui, je viens de faire le test. J'ai inséré quelques lignes. J'ai ensuite fermé Access. Une fois relancé, j'ai tenté de modifier une valeur et j'ai le même message d'erreur.
0