J'ai une base qui a un certain nombre de tables liés vers
C:\MonRep\RepDivers\UneBase.mdb
Cette base est partagée.
Donc, si je veux taper dans une des table liée de cette base, à partir
d'un poste réseau, le lien etant sur c:\, ca recherche les bases
presentes en local et non sur le disque c: de la machine "serveur".
Y a t-il un moyen pour que cela prennent en compte que les bases du
serveur.
Je sais qu'on peut mettre le nom avant de type :
\\mamachine\monrep\etc... Mais cette solution n'est pas envisageable.
Existe t il autre chose ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jeff
Bonjour
Voici une fonction que j'utilise pour modifier le chemin des tables attachés en fonction des valeurs lues dans un fichier INI
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
---------------------------------------------------------------------------- ------------------------------------- Function Attache () Dim MyBD1 As Database 10 On Error GoTo PrbAttache 20 Const plDefault = "" 30 Const IniSection = "Options" 40 Const IniEntry = "Chemin" 70 Attache = 0 90 IniString = Space$(255) 100 IniResult = GetPrivateProfileString(IniSection, IniEntry, plDefault, IniString, TailleTampon, FichierIni) 110 If IniResult <= 0 Then 120 MsgBox "Erreur de lecture du fichier INI", 0, "" 130 Attache = -1 140 Exit Function 141 End If 142 IniString = Trim$(IniString) 143 CheminAcces = IniString 144 strCompare = ";DATABASE=" & Left$(IniString$, Len(IniString$) - 1) 151 IniString = Space$(255) 152 IniResult = GetPrivateProfileString(IniSection, IniEntryBourse, plDefault, IniString, TailleTampon, FichierIni) 153 If IniResult <= 0 Then 154 MsgBox "Erreur de lecture du fichier INI", 0, "" 155 Attache = -1 156 Exit Function 157 End If 180 DoCmd SetWarnings False 200 Set MyBD1 = CurrentDB() 210 For Boucle = 0 To MyBD1.TableDefs.Count - 1 220 Set TableTemp = MyBD1.TableDefs(Boucle) 230 If InStr(1, TableTemp.Name, "MSys") = 0 Then If TableTemp.Connect <> strCompare Then 250 TableTemp.Connect = strCompare 260 TableTemp.RefreshLink End If End If 290 Next Boucle 300 MyBD1.Close 310 Exit Function PrbAttache: 320 If Err = 3219 Then Resume 290 330 MsgBox Error(Err), 0, "Erreur d'exécution n° " & Err & " - " & "Niveau " & Erl 331 MsgBox "" & TableTemp.Name 340 Attache = -1 End Function ---------------------------------------------------------------------------- -----------------------------------------
"Stoomm" a écrit dans le message de news:
Bonjour,
J'ai un probleme avec Access :
J'ai une base qui a un certain nombre de tables liés vers C:MonRepRepDiversUneBase.mdb
Cette base est partagée.
Donc, si je veux taper dans une des table liée de cette base, à partir d'un poste réseau, le lien etant sur c:, ca recherche les bases presentes en local et non sur le disque c: de la machine "serveur".
Y a t-il un moyen pour que cela prennent en compte que les bases du serveur. Je sais qu'on peut mettre le nom avant de type : mamachinemonrepetc... Mais cette solution n'est pas envisageable. Existe t il autre chose ?
Merci d'avance.
Stoomm.
Bonjour
Voici une fonction que j'utilise pour modifier le chemin des tables attachés
en fonction
des valeurs lues dans un fichier INI
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
----------------------------------------------------------------------------
-------------------------------------
Function Attache ()
Dim MyBD1 As Database
10 On Error GoTo PrbAttache
20 Const plDefault = ""
30 Const IniSection = "Options"
40 Const IniEntry = "Chemin"
70 Attache = 0
90 IniString = Space$(255)
100 IniResult = GetPrivateProfileString(IniSection, IniEntry, plDefault,
IniString, TailleTampon, FichierIni)
110 If IniResult <= 0 Then
120 MsgBox "Erreur de lecture du fichier INI", 0, ""
130 Attache = -1
140 Exit Function
141 End If
142 IniString = Trim$(IniString)
143 CheminAcces = IniString
144 strCompare = ";DATABASE=" & Left$(IniString$, Len(IniString$) - 1)
151 IniString = Space$(255)
152 IniResult = GetPrivateProfileString(IniSection, IniEntryBourse,
plDefault, IniString, TailleTampon, FichierIni)
153 If IniResult <= 0 Then
154 MsgBox "Erreur de lecture du fichier INI", 0, ""
155 Attache = -1
156 Exit Function
157 End If
180 DoCmd SetWarnings False
200 Set MyBD1 = CurrentDB()
210 For Boucle = 0 To MyBD1.TableDefs.Count - 1
220 Set TableTemp = MyBD1.TableDefs(Boucle)
230 If InStr(1, TableTemp.Name, "MSys") = 0 Then
If TableTemp.Connect <> strCompare Then
250 TableTemp.Connect = strCompare
260 TableTemp.RefreshLink
End If
End If
290 Next Boucle
300 MyBD1.Close
310 Exit Function
PrbAttache:
320 If Err = 3219 Then Resume 290
330 MsgBox Error(Err), 0, "Erreur d'exécution n° " & Err & " - " & "Niveau "
& Erl
331 MsgBox "" & TableTemp.Name
340 Attache = -1
End Function
----------------------------------------------------------------------------
-----------------------------------------
"Stoomm" <stoomm@hotmail.com> a écrit dans le message de
news:db9a1bb8.0308270157.58a3d87@posting.google.com...
Bonjour,
J'ai un probleme avec Access :
J'ai une base qui a un certain nombre de tables liés vers
C:MonRepRepDiversUneBase.mdb
Cette base est partagée.
Donc, si je veux taper dans une des table liée de cette base, à partir
d'un poste réseau, le lien etant sur c:, ca recherche les bases
presentes en local et non sur le disque c: de la machine "serveur".
Y a t-il un moyen pour que cela prennent en compte que les bases du
serveur.
Je sais qu'on peut mettre le nom avant de type :
\mamachinemonrepetc... Mais cette solution n'est pas envisageable.
Existe t il autre chose ?
Voici une fonction que j'utilise pour modifier le chemin des tables attachés en fonction des valeurs lues dans un fichier INI
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
---------------------------------------------------------------------------- ------------------------------------- Function Attache () Dim MyBD1 As Database 10 On Error GoTo PrbAttache 20 Const plDefault = "" 30 Const IniSection = "Options" 40 Const IniEntry = "Chemin" 70 Attache = 0 90 IniString = Space$(255) 100 IniResult = GetPrivateProfileString(IniSection, IniEntry, plDefault, IniString, TailleTampon, FichierIni) 110 If IniResult <= 0 Then 120 MsgBox "Erreur de lecture du fichier INI", 0, "" 130 Attache = -1 140 Exit Function 141 End If 142 IniString = Trim$(IniString) 143 CheminAcces = IniString 144 strCompare = ";DATABASE=" & Left$(IniString$, Len(IniString$) - 1) 151 IniString = Space$(255) 152 IniResult = GetPrivateProfileString(IniSection, IniEntryBourse, plDefault, IniString, TailleTampon, FichierIni) 153 If IniResult <= 0 Then 154 MsgBox "Erreur de lecture du fichier INI", 0, "" 155 Attache = -1 156 Exit Function 157 End If 180 DoCmd SetWarnings False 200 Set MyBD1 = CurrentDB() 210 For Boucle = 0 To MyBD1.TableDefs.Count - 1 220 Set TableTemp = MyBD1.TableDefs(Boucle) 230 If InStr(1, TableTemp.Name, "MSys") = 0 Then If TableTemp.Connect <> strCompare Then 250 TableTemp.Connect = strCompare 260 TableTemp.RefreshLink End If End If 290 Next Boucle 300 MyBD1.Close 310 Exit Function PrbAttache: 320 If Err = 3219 Then Resume 290 330 MsgBox Error(Err), 0, "Erreur d'exécution n° " & Err & " - " & "Niveau " & Erl 331 MsgBox "" & TableTemp.Name 340 Attache = -1 End Function ---------------------------------------------------------------------------- -----------------------------------------
"Stoomm" a écrit dans le message de news:
Bonjour,
J'ai un probleme avec Access :
J'ai une base qui a un certain nombre de tables liés vers C:MonRepRepDiversUneBase.mdb
Cette base est partagée.
Donc, si je veux taper dans une des table liée de cette base, à partir d'un poste réseau, le lien etant sur c:, ca recherche les bases presentes en local et non sur le disque c: de la machine "serveur".
Y a t-il un moyen pour que cela prennent en compte que les bases du serveur. Je sais qu'on peut mettre le nom avant de type : mamachinemonrepetc... Mais cette solution n'est pas envisageable. Existe t il autre chose ?