Erreur 3197 Driver ODBC MySQL & Access en frontal

Erreur 3197 Driver ODBC MySQL & Access en frontal - SQL/NoSQL - Programmation

Marsh Posté le 20-11-2008 à 17:25:27    

J’ai un souci en utilisant le driver ODBC de MySQL (MySQL ODBC 5.1)
Mon outil de développement est Access 2007, en frontal.
Les tables MySQL sont toutes des tables liées.
 
Mon souci :
Lorsque je veux mettre à jour des valeurs dans une table MySQL,  j’ai une erreur systématique lors de l’événement UPDATE lorsque l’utilisateur a validé la mise à jour mais qu’en fait il n’a RIEN modifié.
Il semble qu’Access interprète mal ce non événement (Code erreur 3197 renvoyé par le driver ODBC).
Ce qui est irritant, c’est que l’information complétant ce code est fausse. Elle informe l’utilisateur que la mise à jour est impossible du fait que l’enregistrement est retenu par un autre utilisateur, ce qui n’est pas vrai, puisque pour le moment je suis le seul utilisateur à tester.
 
Si par contre je modifie mon code en utilisant l’instruction DoCmd.RunSQL je n’ai aucun problème.
 
Voici le code événementiel du côté Access qui pose problème:
Private Sub TestMySql_Màj_Click()
Dim MyRs As Recordset
Set MyRs = CurrentDb.OpenRecordset("Select * From BidonMySql WHERE [CodeProduit] = '00999'" )
MyRs.Edit
    MyRs![LibelléProduit] = Me!MonLibProduit
MyRs.Update
MyRs.Close
End Sub
 
Voici le code événementiel du côté Access qui marche à tous les coups:
Private Sub TestMySql_MàjReqDirecte_Click()
DoCmd.RunSQL "UPDATE BidonMySql SET [LibelléProduit] = '" & Me!MonLibProduit & '" WHERE BidonMySql.[Code produit] = '00999'"
End Sub

Reply

Marsh Posté le 20-11-2008 à 17:25:27   

Reply

Marsh Posté le 21-11-2008 à 10:47:15    

Problème résolu.
Dans les options du driver ODBC MYSQL ODBC 5.1, il faut cliquer sur le bouton "Avancé".
Là, il faut aller renseigner 2 options qui par défaut sont à blanc.
Onglet Flags 1 : cocher "Return matches rows instead of affected row"
Onglet Flags 2 : Cocher "Enable dynamic cursors"

Reply

Marsh Posté le 03-12-2016 à 23:02:11    

OrdreImparfait a écrit :

Problème résolu.
Dans les options du driver ODBC MYSQL ODBC 5.1, il faut cliquer sur le bouton "Avancé".
Là, il faut aller renseigner 2 options qui par défaut sont à blanc.
Onglet Flags 1 : cocher "Return matches rows instead of affected row"
Onglet Flags 2 : Cocher "Enable dynamic cursors"


Bonjour,
ce message date un peu mais je tente... où modifier les options du driver ODBC ?
J'ai exactement le même souci avec des tables Access liées à phpMyAdmin ?
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed