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

Macros et VBA Excel Discussion :

Excel vers Mysql [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Par défaut Excel vers Mysql
    Bonjour,

    Je rencontre un problème lorsque je veux insérer un nouvel enregistrement depuis un fichier Excel vers une base de données MySQL.
    Nous avons développé des applications en interne qui utilise une base MySQL. Mais, il reste encore des reliquats de notre ancien système. Je souhaite donc pouvoir remonter certaines informations vers notre base.

    J'ai juste fait un fichier Excel test. Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub ConnectDB()
    Dim PConn As String
    Dim oConnect As ADODB.Connection
     
        Set oConnect = New ADODB.Connection
        PConn = "DRIVER={MySQL ODBC 5.1 Driver};" & _
                "SERVER=192.168.10.XX" & ";" & _
                "PORT=3306" & ";" & _
                "DATABASE=xxxxxx" & ";" & _
                "USER=xxxxxx" & ";" & _
                "PASSWORD=xxxxxxxxxx" & ";" & _
                "Option=3"
     
    oConnect.Open PConn
     
    End Sub
    _________________________________________________________________
    Private Sub InsertData()
    Dim rs As ADODB.Recordset
     
        Set rs = New ADODB.Recordset
     
        ConnectDB
     
                strSQL = "INSERT INTO testvba (MC) VALUES ('OK')"
                rs.Open strSQL, PConn, adOpenDynamic, adLockOptimistic
    End Sub
    Nom : Erreur 3301.PNG
Affichages : 106
Taille : 5,2 Ko

    J'ai cette erreur que je ne comprends pas bien. Et c'est cette ligne rs.Open strSQL, PConn, , adOpenDynamic, adLockOptimistic qui est surlignée au débogage.

    J'ai pensé que cela pouvait venir de la syntaxe, j'en ai testé différentes mais toujours le même problème.

    Dans l'attente de vos conseils.

    Cordialement,

    Fred

  2. #2
    Membre expérimenté Avatar de lucasgaetan
    Homme Profil pro
    dessinateur BE
    Inscrit en
    Août 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : dessinateur BE
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 175
    Par défaut
    Bonjour Fred,

    As-tu essayé de passer ta variable "PConn" en public ou en argument?

    Dans la procédure "InsertData" tu appelles la procédure ConnectDB mais sans faire de lien avec ta variable "PConn"

    Slts

  3. #3
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 574
    Par défaut
    Bossoir

    Que ce qui ne fonctionne pas la connexion ou la requête ?
    Il faudrait déclarer oConnect en dehors de la fonction et l'utiliser pour ta requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private function ConnectDB() As ADODB.Connection
        Set ConnectDB = New ADODB.Connection
        PConn = "DRIVER={MySQL ODBC 5.1 Driver};" & _
                "SERVER=192.168.10.XX" & ";" & _
                "PORT=3306" & ";" & _
                "DATABASE=xxxxxx" & ";" & _
                "USER=xxxxxx" & ";" & _
                "PASSWORD=xxxxxxxxxx" & ";" & _
                "Option=3"
     
    ConnectDB.Open PConn
     
    End Sub
    '_________________________________________________________________
    Private Sub InsertData()
        Wîth ConnectDB
                strSQL = "INSERT INTO testvba (MC) VALUES ('OK'),('KO'),('Etc')"
               .execute strSqmQL
              .Close
       End with
    End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Par défaut Excel vers MySQL
    Salut,

    Merci à vous.

    C'était en effet élémentaire. Une fois Pconn déclaré public, cela fonctionne parfaitement.

    Fred

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tableau excel vers mysql
    Par phpaide dans le forum Outils
    Réponses: 9
    Dernier message: 13/12/2013, 09h55
  2. import fichier excel vers mysql
    Par Groshaeny Roger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 03/04/2006, 20h31
  3. [SGBD] transfert d'une base de données excel vers mysql
    Par Groshaeny Roger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 28/03/2006, 23h29
  4. Extraire une Base de donnée Excel vers Mysql ??
    Par Arvulis dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 09/01/2006, 22h58
  5. [Excel] Exportation de donnée excel vers MySQL
    Par yoda7666 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/11/2005, 16h18

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