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 et SQL [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut EXCEL et SQL
    Bonjour le forum,

    J'ai trouvé dans la FAQ des explications permettant de se connecter sur une base MYSQL afin de récupérer des données.

    Je suis entrain de tester mais je suis confronté à un problème de connexion à la base distante.

    Le code est celui-ci:
    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
    Sub essai()
     
    Dim pMySQL As Long
     
    pMySQL = mysql_init(0)
     
     
     
    'Dim pMySQL As Long
     
    'Se connecter à la base de données
     
    'Dim pMySQL As Long
    If mysql_real_connect(pMySQL, "127.0.0.1", "root", "", "bc", 0, "", 0) = 0 Then
        ' ...
         MsgBox "la connexion a échoué"
        ' ...
    Else
        MsgBox "la connexion a réussi"
    End If
    end sub
    Si je change l'IP pour passer en recherche distante, la connexion ne s'établit pas alors que tout est bon sur le serveur WAMP (en service, base présente)

    Ou est mon oubli?

    Le user est bien ROOT et sans mdp, je ne suis pas en ligne, je commence juste à explorer cette possibilité avec EXCEL dont c'est perso.

    Merci d'avance et espérant avoir été clair.

  2. #2
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonjour le forum,

    Je reviens vers vous de nouveau avec cette question sur la connexion à une base sur un serveur WAMP.

    J'ai solutionné quelques anomalies sur le paramétrage du serveur et pourtant je ne peux toujours pas accéder à une connexion.

    Voici le code avec lequel je tente d'avoir un résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub essai()
     
     
    Dim pMySQL As Long
    Dim test As String
    'test = Insert_restit
    pMySQL = mysql_init(0)
    test = mysql_connect(pMySQL, "serveur", "root", "")
    test = mysql_real_connect(pMySQL, "serveur", "root", "", "bc", 0, "", 0)
    J'ai essayé ainsi aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub essai()
     
     
    Dim pMySQL As Long
    Dim test As String
    'test = Insert_restit
    pMySQL = mysql_init(0)
    test = mysql_connect(pMySQL, "serveur", "root", "")
    test = mysql_real_connect(pMySQL, "serveur", "root", "", "bc", 3306, "", 0)
    A chaque fois le test = 0.
    Bien sur "serveur" est alimenté avec mon IP.

    Je n'ai pas d'erreur liée à un manque de composants.

    Se peut-il qu'il me manque une déclarations de références?

    J'ai édité un bout de code PHP pour contrôler au cas ou et là j'obtiens un résultat.

    Je ne vois pas ou le bas blesse vu que j'ai appliqué un code de la FAQ, alors j'espère vraiment que quelqu'un pourra me souffler une réponse pour m'aider à avancer.

  3. #3
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    bjr,

    si ça marche en local mais pas sur un serveur distant, il faudrait peut-être creuser du côté de la configuration mysql
    il est possible que par défaut sql ne soit ouvert que pour une utilisation locale

    à voir avec la rubrique sql peut-être

  4. #4
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonjour Arkham46 et merci de répondre.

    Normalement et je reste prudent, MYSQL est correct car je me connecte à PHPMYADMIN depuis un poste distant.

    J'ai un résultat avec un script PHP mais rien avec VBA.

    Je cherche à comprendre pourquoi, afin de l'utiliser ,car débutant en PHP, je n'ai pas le temps de rendre une copie en intranet.

    J'ai utilisé un code fourni dans le forum ou sur la FAQ, qui ne remonte aucune erreur VBA, d'où mon incompréhension quant au résultat non remonté.

    Merci de ton aide et je regarde ton lien.

  5. #5
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Citation Envoyé par Duddy Voir le message
    Normalement et je reste prudent, MYSQL est correct car je me connecte à PHPMYADMIN depuis un poste distant.
    Oui mais (je ne suis pas pro du php), je me demande si le phpmyadmin ou une page de test en php est un bon test.
    Les pages php s'exécutent sur le serveur (même si tu les atteinds par un navigateur depuis ton pc distant), et le serveur a l'accès à mySQL.
    Par contre ton code VBA s'execute sur ton PC et essaie de se connecter directement à my SQL.
    Peut-être que mySQL accepte les connexions depuis php car les serveurs php et mySQL sont sur le même PC (connexion depuis 127.0.0.1).
    Mais ton code VBA tente une connection directe depuis ton PC distant et est bloqué si mySQL n'est pas ouvert à ton IP.

    Je vois qu'il y a des fonctions mysql_errno et mysql_erroren php qui donne le code et le texte de la dernière erreur.
    Peut-être qu'il y a l'équivalent avec ce que tu utilises pour VB, et que ça pourrait donner une idée de l'erreur rencontrée.

    Citation Envoyé par Duddy Voir le message
    Merci de ton aide et je regarde ton lien.
    ce n'est qu'un lien vers la rubrique mySql
    mais le forum ou la FAQ mysql saura peut-être de confirmer ce que je dis et t'aiguiller pour vérifier la config mySQL

  6. #6
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonjour Arkham46 et le forum,

    Le souci ne vient pas de MySQL.

    En fait, j'ai découvert grâce à un collègue, que le connecteur ODBC était absent de mon PC.

    Nous l'avons installer et à l'aide de ce code cela fonctionne.

    Je l'ai aussi trouvé sur le forum.

    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
    28
    29
    30
    31
    Sub connect_bsb()
    Dim my_connect As New ADODB.Connection
    Dim my_rec As New ADODB.Recordset
    Worksheets("feuil1").Activate
    Set sh1 = Excel.Worksheets(1)
    Range("a1").Select
    my_connect.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER="";DATABASE=bc;UID=root;PWD="
    my_connect.Open
           Sql = "select * from agences"
           my_rec.CursorLocation = adUseServer
           my_rec.Open Sql, my_connect
           my_rec.MoveFirst
    c = 1
          Do Until my_rec.BOF Or my_rec.eof
           sh1.Cells(c, 1).Value = my_rec.fields(1)
    '       sh1.Cells(c, 2).Value = my_rec.fields(2)
    '       sh1.Cells(c, 3).Value = my_rec.fields(3)
    '       sh1.Cells(c, 4).Value = my_rec.fields(4)
    '       sh1.Cells(c, 5).Value = my_rec.fields(5)
    '       sh1.Cells(c, 6).Value = my_rec.fields(6)
    '       sh1.Cells(c, 7).Value = my_rec.fields(7)
           my_rec.MoveNext
           c = c + 1
          If my_rec.eof Then
           my_rec.MoveFirst
          Exit Sub
          End If
     
          Loop
    my_connect.Close
    End Sub
    Encore merci à toi.

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

Discussions similaires

  1. Importation d'une feuille excel vers sql server 2005
    Par transistor49 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/09/2009, 19h31
  2. migration excel to sql
    Par nico2323 dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 15/09/2006, 15h49
  3. Importé un fichier excel sous SQL Server 2005
    Par summer91 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 01/05/2006, 10h52
  4. [VBA-A2003] Export d'un Recordset vers Excel, avec SQL statement
    Par Wanoo14 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2006, 22h06
  5. Exportation automatique Excel vers SQL Server
    Par jhalawa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/07/2005, 11h45

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