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

Access Discussion :

[vba ODBC] Comment "hardcodé" un lien ODBC dans MS


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 2
    Par défaut [Résolu][vba ODBC] Comment "hardcodé" un lien ODBC dans MS
    Bonjour,

    J'ai MS Access 2003.
    J'ai créé une petite application qui imprime des rapports. La plupart des tables sont liées à une DB Oracle en ODBC (pour récupérer les données).
    Ensuite j'ai créé des queries, des reports et des forms.
    Dans mon form de départ, j'aimerais créé une "event procedure" qui lors de l'ouverture de la form, me crée automatiquement le lien ODBC nécessaire pour lire les données des tables liées (qui sont utilisées dans le form et le report qui en sort).
    J'ai cherché sur le net, vos forums et FAQ ... Les pistes semblent être "open.connection" ou "StrConnect" ... mais j'ai implémenté en vain ce que j'ai trouvé sur le net.
    Si qqun a déjà réalisé ce lien ...

    Important : cette application est destinée à des utilisateurs qui ne connaissent pas toutes ces infos techniques, j'ai qu'un seul utilisateur (en read-only) sur la Db Oracle et c'est pourquoi, je voudrais rendre transparent la connection à la DB Oracle pour les users.

    J'espère avoir été clair. Merci pour votre aide.

    Fred

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 407
    Par défaut
    Salut,

    voilà comment je procède :

    1) Je fait un link à la main
    2) je mets le bout de code suivant dans un module vba :

    [code]
    Private sub AfficherLink()

    end sub
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 407
    Par défaut
    Salut,

    voilà comment je procède :

    1) Je fait un link à la main
    2) je mets le bout de code suivant dans un module vba :

    Atention c'est du DAO, verifie que tu as une ref dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private sub AfficherLink()
       dim t as tabledef
       for each t in currentdb.tabledefs
          if t.connect<>"" then
             debug.print t.name, t.connect
          end if
       next t
    end sub
    Comme cela je récupère la chaine de connexion utilisée par Access dans la fenêtre de débuggage.

    3) Dans un module appele à l'ouverture de ma base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim db as database: set db=currentdb
    dim t as tabledef: set t=db.tabledef("maTable")
    t.connect = "maChaine de connexion"
    t.refreshlink
    Ceci quand je travaille avec une base Oracle je n'ai eu qu'à installer le driver ODBC sur chaque poste pas à refaire mes links.

    Petit point de sécurité : si tu lui demande, Access garde le mot de passe pour se connecter à Oracle ... en clair dans la chaine de connexion.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 2
    Par défaut
    Merci beaucoup !

    Ca fonctionne.
    Grâce à ton premier code, je récupère une des chaines de connexion (toujours la même pour toutes les tables) et je l'ai hardcodé dans ton deuxième code.

    Pour rajouter login et mot de passe dans la chaine de connexion:
    ";UID=login;PWD=password;"

    Bye

    Fred

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

Discussions similaires

  1. [ODBC] PHP (PDO) et ODBC - Structure d'une base en lien odbc
    Par CedEsc dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 14/08/2012, 13h16
  2. [VBA-E] Comment copier des dates du contrôle calendar dans une boite de texte
    Par jeanpierreco dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/02/2007, 07h18
  3. Réponses: 5
    Dernier message: 30/05/2005, 16h58

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