OVH Cloud OVH Cloud

Liaison tables sous runtime

2 réponses
Avatar
Luis
Bonjour,
J'ai une base de donn=E9e dorsale et une base de travail=20
sous runtime
La base dorsale est trop petite et je veux la partager et=20
en cr=E9er deux bases.
J'utilise le Module "modActualiserAttachesTables" que l'on=20
trouve dans SOLUTION des exemples Access, =E7a marche tr=E8s=20
bien avec une base dorsale.
Mais je n'arrive pas =E0 modifier ce module pour lier les=20
tables de travail =E0 deux tables dorsales.
Est-ce quelqu'un a une id=E9e, ou m=EAme une solution pour=20
modifier ce module.
Merci.
A bient=F4t.
Luis

2 réponses

Avatar
Gilbert
Salut Luis
Voici ce que je te propose (si c'est bien cette procédure que tu utilises).

Private Function ActualiserAttaches(chNomFichier1 As String, Optional
chNomFichier2 As String) As Boolean
' Rafraichit les liens à la base de données spécifiée.
' Retourne Vrai si tout s'est bien passé.

Dim tdf As TableDef
' Boucle sur toutes les tables de la base de données.
For Each tdf In CurrentDb.TableDefs
' Si la table a une chaîne de connection, c'est une table attachée.
If Len(tdf.Connect) > 0 Then
tdf.Connect = ";DATABASE=" & chNomFichier1
err = 0
On Error Resume Next
tdf.RefreshLink ' Relie les tables
If err <> 0 Then
tdf.Connect = ";DATABASE=" & chNomFichier2
err = 0
On Error Resume Next
tdf.RefreshLink ' Relie les tables
If err <> 0 Then
ActualiserAttaches = False
Exit Function
End If
End If
End If
Next tdf

ActualiserAttaches = True ' Liens complets
Set tdf = Nothing

End Function

Cordialement

Gilbert

"Luis" a écrit dans le message de
news:16f4f01c41801$2640ee80$
Bonjour,
J'ai une base de donnée dorsale et une base de travail
sous runtime
La base dorsale est trop petite et je veux la partager et
en créer deux bases.
J'utilise le Module "modActualiserAttachesTables" que l'on
trouve dans SOLUTION des exemples Access, ça marche très
bien avec une base dorsale.
Mais je n'arrive pas à modifier ce module pour lier les
tables de travail à deux tables dorsales.
Est-ce quelqu'un a une idée, ou même une solution pour
modifier ce module.
Merci.
A bientôt.
Luis
Avatar
Bonjour Gibert,
Oui, oui, c'est un petit morceau de la procédure.
Moi qui suis étourdi comme tout, je vais m'amuser à
modifier tout le module en rapport avec ça. Je suis
distrait et j'essai de me soigner.
Je vais passer de bonnes heures à trouver, l'erreur (que
j'aurais fait moi-même).
Merci, car tu m'as mis sur la voie.
A bientôt.
Luis

-----Message d'origine-----
Salut Luis
Voici ce que je te propose (si c'est bien cette procédure
que tu utilises).


Private Function ActualiserAttaches(chNomFichier1 As
String, Optional

chNomFichier2 As String) As Boolean
' Rafraichit les liens à la base de données spécifiée.
' Retourne Vrai si tout s'est bien passé.

Dim tdf As TableDef
' Boucle sur toutes les tables de la base de données.
For Each tdf In CurrentDb.TableDefs
' Si la table a une chaîne de connection, c'est
une table attachée.

If Len(tdf.Connect) > 0 Then
tdf.Connect = ";DATABASE=" & chNomFichier1
err = 0
On Error Resume Next
tdf.RefreshLink ' Relie les tables
If err <> 0 Then
tdf.Connect = ";DATABASE=" & chNomFichier2
err = 0
On Error Resume Next
tdf.RefreshLink ' Relie les tables
If err <> 0 Then
ActualiserAttaches = False
Exit Function
End If
End If
End If
Next tdf

ActualiserAttaches = True ' Liens complets
Set tdf = Nothing

End Function

Cordialement

Gilbert

"Luis" a écrit dans
le message de

news:16f4f01c41801$2640ee80$
Bonjour,
J'ai une base de donnée dorsale et une base de travail
sous runtime
La base dorsale est trop petite et je veux la partager et
en créer deux bases.
J'utilise le Module "modActualiserAttachesTables" que l'on
trouve dans SOLUTION des exemples Access, ça marche très
bien avec une base dorsale.
Mais je n'arrive pas à modifier ce module pour lier les
tables de travail à deux tables dorsales.
Est-ce quelqu'un a une idée, ou même une solution pour
modifier ce module.
Merci.
A bientôt.
Luis


.