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 :

Récupérer code généré par configurateur odbc [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Par défaut Récupérer code généré par configurateur odbc
    Bonjour à tous,

    Je fais actuellement des tests pour récupérer des données de bases oracles dans une feuille excel.

    Pour commencer j'ai utilisé le configurateur/assistant de connexion de données. (Données/A partir d'autres sources). J'ai ainsi pu choisir une tables spécifique et l'afficher. Résultat je sais que ma connexion fonctionne.

    Maintenant j'ai besoin d'aller plus loin : utilisation de requêtes. Voir le code VBA que l'assistant a généré m'aurai beaucoup aidé. C'est pourquoi je suis allé faire un tour du côté de VB mais à ma grande surprise je n'ai trouvé aucune ligne de code.

    Quelqu'un sait il si je peux voir le code généré ou pas?

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Je te propose d'utiliser ADO plutôt que les données externes pour manipuler les données.

    http://excel.developpez.com/faq/inde...ouveauClasseur

  3. #3
    Membre très actif Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Par défaut
    J'ai appliqué le principe de connexion ADO comme tu me l'as conseillé.

    J'ai besoin d'un coup de main pour debug la connexion qui ne se fait pas, j'ai un message d'erreur :

    [Mircrosoft][Gestionnaire de pilotes ODBC] Source de données introuvable et non de pilote non spécifié.
    L'erreur survient sur l'ouverture de la connexion donc je suppose que ma chaine de connexion n'est pas bien paramétrée. Mais je ne peux pas être plus précis, j'ai regardé plein d'exemple mais aucun ne m'a orienté vers une erreur spécifique.

    Ma bdd n'est pas initialisée par un nom car elle n'en dispose pas apparemment, par exemple lorsque j'utilisais la connexion ODBC avec le configurateur dans le choix de la bdd j'avais l'option "default" car il y a une seule bdd par serveur.

    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
    32
    33
    34
    35
    36
    37
    38
    Sub DataFromOracle()
        'declaration variables
        Dim nomUtilisateur As String
        Dim motDePasse As String
        Dim nomServeur As String
        Dim nomBdd As String
     
        'initialisation variables
        nomUtilisateur = "user"
        motDePasse = "pass"
        nomServeur = "SERVEUR1"
        nomBdd = ""
     
        'declaration variable de connexion
        Dim cnx As ADODB.Connection
        Set cnx = New ADODB.Connection
     
        'Definition de la chaine de connexion
        cnx.ConnectionString = "UID=" & nomUtilisateur & ";PWD=" & motDePasse & ";" & "DRIVER=msdaora;Server=" & nomServeur & ";Database=" & nomBdd & ";"
     
        'ouverture de la connexion
        cnx.Open
     
        'declaration recordset
        Dim rst As ADODB.Recordset
        Set rst = New ADODB.Recordset
     
        'Execution de la requete
        rst.Open "SELECT USERNAME, CREATED FROM DBA_USER", cnx
     
        'Affichage des données dans excel
        Sheets("Feuil1").Range("A1").CopyFromRecordset rst
     
        'fermeture recordset
        rst.Close
        'fermeture connexion
        cnx.Close
    End Sub

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    As tu essayé avec une connexion ODBC (connexion avec DSN)
    http://drq.developpez.com/vb/tutoriels/ADO/Chapitre2/

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  6. #6
    Membre très actif Avatar de Kihmé Xs
    Inscrit en
    Janvier 2007
    Messages
    549
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 549
    Par défaut
    Merci pour vos réponses, avec DSN ça marche très bien.

    Je ne voulais pas utiliser une connexion DSN car j'ai une 15aine d'environnements différents à parcourir et donc autant de DSN à faire. Mais finalement ça ne posera pas de problème si je me fais violence.

    Merci Kiki pour ces liens, le premier donne de bon exemple de chaine de connexion, je ne les ai pas testé car j'utilise les DSN.

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

Discussions similaires

  1. Récupérer le code généré par une vue
    Par ditchou dans le forum MVC
    Réponses: 6
    Dernier message: 05/07/2010, 16h55
  2. [DOM] Code généré par javascript inaccessible
    Par Bowen dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 27/06/2007, 11h29
  3. [Blend beta 1][VS Extension WPF CTP 11/06] VS ne lit pas le code généré par Blend
    Par FRED.G dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 09/12/2006, 17h50
  4. Code généré par JSF
    Par vny dans le forum JSF
    Réponses: 3
    Dernier message: 24/10/2006, 10h50
  5. Lancer la GUI à partir de code généré par VE
    Par Cedric507 dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 19/09/2006, 11h23

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