extraire le chemin d'un table attaché en VBA

Le
dumgest
bonjour

je ne trouve pas comment extraire le chemin d'un table attaché en VBA sou=
s Acc2007

je suis sur que cela dois être quelques part, non ??

merçi de votre aide pour trouver le chemin

remdumdum
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
db
Le #26331385
Le 29/12/2014 15:56, a écrit :
bonjour

je ne trouve pas comment extraire le chemin d'un table attaché en VBA sous Acc2007

je suis sur que cela dois être quelques part, non ??

merçi de votre aide pour trouver le chemin...

remdumdum




Bonsoir,

Si c'est une table liée dans une base Access distante, la base distante
et son chemin sont récupérés de la façpn suivante :
Base=DLookup("Database", "mSysObjects", "name='nom_de_la_table' and type=6")
Reste plus qu'à extraire le chemin.

db
dumgest
Le #26331423
merci de votre reponse, mais je reformule

j'ai un database de facade avec des tables attachées dans une seconde dat abase qui peut être situé n'importe où par l'utilisateur. (Hd, clef u sb, cloud)
je voudrais a la fermeture de la database de facade, faire une sauvegarde d e la seconde database contenant les tables sur le c: de l'utilisateur.
mais il faut que je recupere le chemin de la seconde database dans une tabl e attaché !!

avec votre solution "database" est le chemin de la table attaché ?
db
Le #26331438
Le 30/12/2014 07:56, a écrit :
merci de votre reponse, mais je reformule

j'ai un database de facade avec des tables attachées dans une seconde database qui peut être situé n'importe où par l'utilisateur. (Hd, clef usb, cloud)
je voudrais a la fermeture de la database de facade, faire une sauvegarde de la seconde database contenant les tables sur le c: de l'utilisateur.
mais il faut que je recupere le chemin de la seconde database dans une table attaché !!

avec votre solution "database" est le chemin de la table attaché ?




Base=DLookup("Database", "mSysObjects", "name='nom_de_la_table' and type=6")

Base contient le nom du fichier mdb distant (celui qui contient les
tables attachées) avec son chemin. Par exemple : D:Mes
DocumentsTravailTables.mdb

Mais le mieux est d'essayer pour voir ce que ça donne, non ?

db
dumgest
Le #26331444
je test, mais j'ai une erreur de syntax
voilà ma function

Function DumCopieC()

On Error GoTo DumCopieC_Err

Dim espDefault As Workspace, bds As Database
Dim dumo, dumd, base As String
Dim dbs As Database


'test si datacopy.accdb existe
dumo = "c:dumargestdatacopy.accdb"
If Dir([dumo]) <> "" Then Kill dumo

DoEvents

Set dbs = CurrentDb

dumd = "c:dumargestdumargest.accde"
base = DLookup("dbs", "adress", "adress and type=6")

' crée datacopy.accdb
FileCopy base, dumo

Beep


DumCopieC_Exit:
Exit Function

DumCopieC_Err:
MsgBox Error$
Resume DumCopieC_Exit

End Function
db
Le #26331445
Le 30/12/2014 10:11, a écrit :
je test, mais j'ai une erreur de syntax
voilà ma function



Remplacez : base = DLookup("dbs", "adress", "adress and type=6")

par :

base=DLookup("Database","MSysObjects","name='adress' and type=6")

MsysObjects est le nom de la table système d'Access
Database est le nom du champ de la table MsysObjects qui contient le nom
de la base distante
name='adress' and type=6 : condition (Where) qui sert à trouver la bonne
ligne dans la table MSysObjects


db
dumgest
Le #26331448
d'où la simplicité de votre réponse du début !!

ça marche !! grand merci d'avoir aidez petit scarabée à trouver le ch emin !!

remdumdum


Function DumCopieC()

On Error GoTo DumCopieC_Err

Dim dumo, base As String


'test si datacopy.accdb existe
dumo = "c:dumargestdatacopy.accdb"
If Dir([dumo]) <> "" Then Kill dumo

DoEvents

base = DLookup("Database", "MSysObjects", "name='adress' and type =6")

' crée datacopy.accdb
FileCopy base, dumo

Beep


DumCopieC_Exit:
Exit Function

DumCopieC_Err:
MsgBox Error$
Resume DumCopieC_Exit

End Function
Publicité
Poster une réponse
Anonyme