Bonjour.

Afin d'eviter d'avoir une table Mysql liee dans le fichier Access, je cherche a lancer un insert into dans la base Access.

Le but du jeu est d'envoyer les donnees d'une table Access a une table Mysql.

Je commence par me connecter a la base de donnees Mysql :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Set oCnMySQL = New ADODB.Connection
    oCnMySQL.ConnectionString = "Provider=MSDASQL;" & _
    "DSN=" & serveur & ";" & _
    "UID=" & util & ";PWD=" & passe
    oCnMySQL.Open
Par la suite, je lance le insert into de la maniere suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 
Set dbs = CurrentDb
                dbs.Execute " INSERT INTO matableMySQL " _
                & "(champ1, champ2) IN " & oCnMySQL _
                & "SELECT champ1, champ2 " _
                & "FROM matableAccess;"
                dbs.Close
Access m'affiche "Run-time error '3134': " puis l'information que ma requete sql n'est pas bonne.

Lorsque je fais la chose ci-dessous, ca fonctionne sans probleme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Set dbs = CurrentDb
dbs.Execute " INSERT INTO matableMySQL " _
            & "(champ1, champ2)" _
            & "SELECT champ1, champ2 " _
            & "FROM matableAccess;"
dbs.Close
La difference, c'est que, dans le dernier code ci-dessous, je rajoute directement dans la table Mysql liee dans le fichier Access, je ne me connecte pas a la base : le IN " & oCnMySQL n'est pas present.

Savez-vous comment je peux faire fonctionner le insert into en me connectant a Mysql par le IN ?

Merci.
Cdlt.
Jean