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 :

Ouvrir une Connexion SQL depuis VBA Excel


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
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut Ouvrir une Connexion SQL depuis VBA Excel
    Bonjour à tous,

    J'essaie de me connecter à une base de donnée en SQL

    et lorsque je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
     
     
        Dim cnx As New ADODB.Connection
        Dim req As New ADODB.Recordset
        cnx.Provider = "SQLOLEDB"
        cnx.ConnectionString = bd
        cnx.Open
     
     End Sub
    Il m'affiche un message d'erreur pour cnx ... et req ...:

    "erreur de compilation"

    "Type défini par l'utilisateur non défini"

    Quelqu'un peut me dire ce que je peux faire pour débloquer ça svp ?

  2. #2
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    As-tu activé la référence suivante : Microsoft AtiveX Data Objects 2.x Library ?

  3. #3
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    C'était bien ça.
    Merci beaucoup.

    Autre question à quoi correspond le message d'erreur suivant svp:

    "Spécification permission non valide."

    Il s'affiche à la ligne de code:

    .

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    With CreateObject("Adodb.Connection")
        .Open "Provider=SQLOLEDB.1;Password=" & PassWord & ";Persist Security Info=True;User ID=" & User & ";Initial Catalog=" & Base & ";Data Source=" & Server
            With .Execute(Sql)
                If Not .EOF Then
                    'traitement
                End If
                    .Close
            End With
        .Close
    End With
    Spécification permission non valide
    pare ce que tu ne fournis pas le user pasword de ta connexion comme dans mon exemple!
    Dernière modification par Invité ; 14/06/2017 à 07h39.

  5. #5
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Ok,

    je vais voir ça Merci beaucoup.

    ça fonctionne merci.

  6. #6
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut Requete SQL par VBA
    Salut à tous,

    Toujours dans le même registre,

    lorsque je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub test()
    Dim cnx As New ADODB.Connection
    Dim req As New ADODB.Recordset
    Dim sql As String
    cnx.Provider = "SQLOLEDB"
    cnx.ConnectionString = base
    cnx.Open
     
    req.Open "Select alpha, beta, tango, coderun, coderi, from view_joggo ", cnx
    lorsque j'arrive à la dernière ligne


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req.Open "Select alpha, beta, tango, coderun, coderi, from view_joggo ", cnx
    J'ai le message d'erreur suivant : "Syntaxe incorrecte vers le mot clé 'from'."

    Pourtant avec la même syntaxe sur une autre table et d'autres critères, cela fonctionne très bien.

    Quelqu'un a-t-il une réponse à ça svp ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    coderi, from view_joggo

  8. #8
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Salut dysorthographie,

    Je ne comprend pas ta réponse.

  9. #9
    Invité
    Invité(e)
    Par défaut
    La virgule

  10. #10
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Ok Merci

  11. #11
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Salut à tous,

    Quelqu'un peut m'expliquer ce que veut dire ce bout de requête svp,

    Mon prédécesseur l'a écrit ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     req.Open "Select alpha, beta, tango, coderun, coderi, from view_joggo WHERE " & where_alpha & "" , cnx
    C'est surtout cette partie que je ne comprend pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     WHERE " & where_alpha & "
    De plus j'ai message d'erreur comme le précédent qui me dit "erreur de syntaxe vers 'WHERE'.

    Merci à vous.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code exemple sens la virgule avant le from : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    where_alpha = "alpha ='toto'" where_alpha est tue variable!
     req.Open "Select alpha, beta, tango, coderun, coderi from view_joggo WHERE " & where_alpha & "" , cnx

  13. #13
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Si j'enlève la virgule avant le from effectivement cela fonctionne pour ce qui est de la première partie,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     req.Open "Select alpha, beta, tango, coderun, coderi from view_joggo " , cnx

    Mais si je rajoute cette partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     WHERE " & where_alpha &  ", cnx
    Alors j'ai toujours le message d'erreur: "erreur de syntaxe vers 'WHERE'

    Savez-vous pourquoi svp ?

  14. #14
    Invité
    Invité(e)
    Par défaut
    Qu'est qu'il y a dans la variable where_alpha?

  15. #15
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    C'est étrange elle est déclarée dans un autre module en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public where_alpha As string

  16. #16
    Invité
    Invité(e)
    Par défaut
    Fais un click droit dessus ajouter un espion.

    Positionnes toi sur la ligne req.Open "Select et appuis sur la touche [F9] tu pourras voir ainsi au moment de l'exécution du programme sa valeur!

  17. #17
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Voilà ce que j'obtient:

    Expression: where_centre, Valeur :"" , Type: String, Contexte: Module1.connexion

    Qu'en pensez-vous svp ?

  18. #18
    Invité
    Invité(e)
    Par défaut
    Puisque la valeur est "" ça revient revient a

    Select alpha, beta, tango, coderun, coderi from view_joggo WHERE

    Alors que ça un truc du genre
    Select alpha, beta, tango, coderun, coderi from view_joggo WHERE alpha ='toto'

    Il faut trouver ou te devrais entre la valeur!

  19. #19
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Salut,

    J'ai voulu utiliser la fonction suivante SUBSTR(),

    Voila le message d'erreur que j'ai reçu: 'SUBSTR' n'est pas une option de fonction intégrée reconnue.

    Savez vous ce que cela veut dire svp ?

  20. #20
    Membre habitué
    Homme Profil pro
    Cadre
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut
    SUBSTR est une fonction PHP pas VBA il me semble :/
    En VBA tu as Left, Right, Mid...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Erreur:Impossible d'ouvrir une connexion à SQL SERVER
    Par ahbari dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 13/12/2011, 15h36
  2. Appel d'une procédure Outlook depuis VBA excel
    Par sergiani dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/03/2011, 16h29
  3. Réponses: 0
    Dernier message: 05/10/2009, 16h25
  4. [XL-2000] trier et renommer une table access depuis vba excel
    Par lascrabbleuse dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/04/2009, 16h05
  5. Impossible d'ouvrir une connexion à SQL Server
    Par lamiruth dans le forum Accès aux données
    Réponses: 1
    Dernier message: 18/02/2007, 15h40

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