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 :

VBA : lecture d'une base de données SQL *.gdb


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Points : 21
    Points
    21
    Par défaut VBA : lecture d'une base de données SQL *.gdb
    Bonjour à tous,

    Je viens vers vous car je vais imploser si je continue à chercher

    Je dois lire des données d'une base SQL par un simple (!!) select. Je souhaiterais exécuter les requêtes à partir de VBA car tout le traitement de l'information est déjà sous VBA (ben oui, j'ai fait le traitement d'info, manque plus que l'information en fait ).

    J'ai parcouru nombre d'articles et tutoriels, mais je bloque.
    J'ai activé la référence "Microsoft DAO 3.6 Object Library)


    En me basant sur le tuto de SQLPRO et en testant sur une requête simple (testée et approuvée sous EMS SQL Manager 2005 for InterBase & Firebird Lite) j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub DAOOpenRecordset()
        Dim db As DAO.Database, rst As DAO.Recordset, fld As DAO.Field
        Dim sSQL As String
        ' Ouverture de la base de données
        Set db = DBEngine.OpenDatabase("C:\STEP\DBStep.GDB")
        sSQL = "SELECT DTE_EVNT,C_XID,C_XID_CHG, DESIGN_OF FROM CLIENTS_CDES_OF_EVNTS WHERE DTE_EVNT > '2.03.2008' AND C_XID = 353"
        ' Ouverture du recordset
        Set rst = db.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
        ' Fermeture du Recordset
        rst.Close
    End Sub
    Il me répond : " Erreur d'exécution 3343 - Format de base de données (C:\STEP\DBStep.GDB) non reconnu"

    Quelqu'un a une idée? Parce que là je coule.



    Moi à la base je suis ingénieur soudeur, pas informaticienne...

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Points : 21
    Points
    21
    Par défaut
    j'ai également essayé d'accéder à cette base de données avec :
    Excel > données > A partir d'autres sources
    et à partir de là j'ai tenté diverses combinaisons mais rien n'y fait.

    Quelqu'un connait ce format de base de données et saurait comment l'exploiter sous Excel en automatique? Moi je patauge...

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    J'ai trouvé ça:
    http://www.connectionstrings.com/?carrier=interbase
    Il semblerait que ce soit une base Borland InterBase.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup de t'être penché sur mon problème.

    Pour le moment je n'ai eu le temps de jeter à la page indiquée qu'un petit coup d'oeil, des taches plus urgentes s'étant présentées, mais je ne manquerais pas de m'y plonger comme il faut.

    Mais déjà j'ai retrouvé un peu d'espoir

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 31
    Points : 21
    Points
    21
    Par défaut
    Finalement j'ai réussi à accéder à cette base de données !!

    Un des informaticiens de la boite m'a créé un lien ODBC vers la BdD et j'utilise désormais des codes du type :

    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
     
    Sub testSQL2()
    Dim adoConn As New ADODB.Connection, rst As New ADODB.Recordset, fld As ADODB.Field
     
    adoConn.ConnectionString = "DSN=STEP_UAP_COLL;Driver=OdbcJdbc;Dbname=192.9.200.237:D:\bgsoft\Data\DBStep.gdb;CHARSET=ISO8859_1;UID=ODBC;"
     
    adoConn.Open
     
        ' Ouverture du Recordset en défilement en avant, et en lecture seule
     
    rst.Open "SELECT MATRICULE, NOM_COMPLET FROM OPERATEURS", adoConn, adOpenForwardOnly, adLockReadOnly
     
    Worksheets("Stockage").Range("A:H").Clear
    rst.MoveFirst
    Worksheets("Stockage").Range("A1").CopyFromRecordset rst
    rst.Close
     
    End Sub

    On sait jamais, ça peut servir à quelqu'un !!

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

Discussions similaires

  1. Lecture dans une base de donnée SQL en VBS
    Par maxtofurious dans le forum VBScript
    Réponses: 1
    Dernier message: 10/12/2010, 18h49
  2. Réponses: 2
    Dernier message: 29/04/2008, 13h59
  3. Accès à une base de données SQL serveur
    Par TALNA dans le forum Bases de données
    Réponses: 1
    Dernier message: 29/11/2005, 09h09
  4. Réponses: 3
    Dernier message: 01/09/2005, 16h24
  5. Réponses: 3
    Dernier message: 29/03/2004, 18h02

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