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

VBA Access Discussion :

Récup chemin base dorsale


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 346
    Par défaut Récup chemin base dorsale
    Bonjour,
    J'ai une application type frontale/dorsale avec tables liées.
    A l'ouverture de la frontale, on contrôle si la liaison vers la dorsale est OK.
    Si pas OK, j'ouvre une boite de dialogue demandant à l'utilisateur de sélectionner une dorsale.
    Je cherche à récupérer le chemin+nom de la dorsale, une fois la liaison établie car elle a pu changer et j'ai besoin de stocker cette valeur dans un champ.
    Merci si vous savez,
    Laurent

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 129
    Par défaut
    Bonjour,

    Comme il peut y avoir plusieurs dorsales tu peux demander où se trouve une table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox CurrentDb.TableDefs("MaTable").connect

  3. #3
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    Un exemple de fonction prenant en argument le nom d'une table liée, et renvoyant la base liée (Chemin+Nom) :
    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
    Function GetLinkedDB(strLinkedTable As String) As String
    Dim strConn As String, strSceDBPathName As String
    Dim db As DAO.Database, tdef As DAO.TableDef
    Dim p1 As Long, p2 As Long
     
    Set db = CurrentDb
    Set tdef = db.TableDefs(strLinkedTable)
    If (tdef.Attributes And dbAttachedTable) = dbAttachedTable Then
       strConn = tdef.Connect
       ' Le nom complet de la base de données source commence
       ' après "DATABASE="
       p1 = InStr(1, strConn, "DATABASE=", vbTextCompare)
       If p1 > 0 Then
          p2 = InStr(p1, strConn, ";")
          ' Il se termine au premier point-virgule (;) suivant
          ' ou à la fin de la chaîne de connexion
          If p2 = 0 Then p2 = Len(strConn) + 1
          strSceDBPathName = Mid(strConn, p1 + 9, p2 - p1 - 9)
          GetLinkedDB = strSceDBPathName
       End If
    End If
    End Function
    A+

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/10/2012, 17h02
  2. Récupérer le chemin d'accés d'une base dorsale
    Par SnakeCharmer dans le forum VBA Access
    Réponses: 6
    Dernier message: 09/06/2008, 16h42
  3. Récupérer le chemin de la base dorsale
    Par electrosat03 dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/04/2008, 01h01
  4. Réponses: 4
    Dernier message: 07/06/2007, 18h44

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