IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Conflit d'écriture à partir d'un formulaire sur une table liée


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 92
    Points : 54
    Points
    54
    Par défaut Conflit d'écriture à partir d'un formulaire sur une table liée
    Bonjour à tous,

    Comme d'habitude quand je suis vraiment bloqué je consulte le forum !
    Je conçois une appli dont Access est le "front end" et SQL Server le "back end". Mes tables sont donc dans SQL Server et je les accède par des tables liées dans Access. Je viens modifier ou ajouter des enregistrements dans ces tables en utilisant un formulaire et/ou un sous-formulaire. J'ai voulu, peut-être à tort, manipuler via du code vba le recordset d'un de ces formulaires : ouverture du recordset, edit puis update. C'est là que mes ennuis ont commencé avec le message suivant :

    Nom : Conflit d'écriture.png
Affichages : 354
Taille : 9,4 Ko

    Tout d'abord, je constate que le bouton "sauvegarde enregistrement" est grisé et finalement je ne peux qu'annuler ma modification.
    Mais au delà de ça, j'ai donc annulé, fermer mon formulaire, fermer l'appli et un peu plus tard j'ai réouvert mon formulaire et modifier directement les données du même enreguistrement dans le formulaire : j'ai à nouveau le même message !
    Je me suis dit qu'il y avait un verrou bloqué dans SQL : je suis donc allé voir le journal des transactions bloquées dans SQL mais il est vide. De fait je peux faire un update de l'enregistrement en question directement dans SQL.
    J'ai supprimé mon formulaire, en ai re-créé un identique sur la même table : même problème avec même message lorsque je veux modifier cet enregistremeent ! Je peux en revanche modifier d'autres enregistrements de la table via le formulaire. Il n'y a donc que l'enregistrement initial qui est bloqué.

    Je suis loin d'être un expert sur la gestion des conflits dans SQL Server et dans Access, donc j'ai certainement dû faire des choses qu'il ne fallait pas faire. Difficile de joindre du code puisque finalement mon problème persiste alors que je n'utilise aucun code. Mais peut-être avez-vous de pistes vers lesquelles m'orienter ? des posts que j'aurais loupés sur le sujet ?

    Merci d'avance
    Stargates

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pas cool ton truc.

    As-tu essayé de supprimer le lien vers la table SQL et de le recréer ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 92
    Points : 54
    Points
    54
    Par défaut
    Oui j’ai tout essayé : supprimer le lien puis le recréer, créer une nouvelle base avec juste la table liée vers SQL, .. et toujours le même message.
    J’ai fini par trouver ce post :

    https://www.access-programmers.co.uk...ackend.220431/

    Et j’ai appliqué le conseil de DavidAtWork : j’ai inséré un champ de type timestamp dans la table sql et là, incroyable, le message n’apparaissait plus et j’ai pu modifier l’enregistrement. Comme j’avais fait une copie de ma table dans laquelle se produisait toujours le blocage j’ai essayé d'insérer un champ integer pour voir si ce n’était pas juste l’insertion d’un nouveau champ et la modification de la structure de la table qui résolvait le problème : j’ai toujours le même message de blocage après. Conclusion c’est bien la présence d’un champ timestamp qui a résolu le problème. Impossible de savoir pourquoi mais au moins sa marche.

    Si ça t’évoque une piste je peux continuer à creuser car j’ai toujours une copie de la table qui comporte le verrou…
    Sinon je marquerai mon message comme résolu d’ici quelques jours.

    A+

Discussions similaires

  1. [4.x] formulaire sur une table sans relation
    Par krakatoa dans le forum Symfony
    Réponses: 0
    Dernier message: 24/02/2021, 21h16
  2. [AC-2013] Paramétrer une requête à partir d'un formulaire sur plusieurs tables
    Par Herak dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 13/08/2019, 10h52
  3. Réponses: 2
    Dernier message: 03/03/2007, 19h03
  4. cumul sur une table liée
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/11/2006, 19h45
  5. enregistrer les données d'un FORMULAIRE sur une TABLE
    Par godzinho dans le forum Access
    Réponses: 15
    Dernier message: 11/03/2006, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo