Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Access 365, Access 2021, Access 2019, Access 2016
Met à jour les informations de connexion d’une table liée (espaces de travail Microsoft Access uniquement).
Syntaxe
expression . RefreshLink
expression Variable représentant un objet TableDef.
Remarques
Pour modifier les informations de connexion pour une table liée, réinitialisez la propriété Connect de l'objet TableDef correspondant, puis utilisez la méthode RefreshLink pour mettre à jour les informations. L'utilisation de la méthode RefreshLink ne modifie pas les propriétés de la table liée et les objets Relation.
Pour que ces informations de connexion existent dans toutes les connexions associées à l'objet TableDef qui représente la table liée, vous devez utiliser la méthode Refresh dans chaque collection.
À compter d’Access 365 version 2403, la méthode RefreshLink conserve les index de table existants. Si vous aviez précédemment une table liée qui perdait la clé primaire après l’exécution de la méthode RefreshLink et que vous avez ajouté du code pour recréer explicitement l’index après l’objet RefreshLink, cela entraîne désormais l’erreur 3283, « La clé primaire existe déjà ».
Exemple
Cet exemple utilise la méthode RefreshLink pour actualiser les données dans une table liée une fois que sa connexion a été modifiée d'une source de données vers une autre. La procédure RefreshLinkOutput est nécessaire à l'exécution de cette procédure.
Sub RefreshLinkX()
Dim dbsCurrent As Database
Dim tdfLinked As TableDef
' Open a database to which a linked table can be
' appended.
Set dbsCurrent = OpenDatabase("DB1.mdb")
' Create a linked table that points to a Microsoft
' SQL Server database.
Set tdfLinked = _
dbsCurrent.CreateTableDef("AuthorsTable")
' Note: The DSN referenced below must be configured to
' use Microsoft Windows NT Authentication Mode to
' authorize user access to the Microsoft SQL Server.
tdfLinked.Connect = _
"ODBC;DATABASE=pubs;DSN=Publishers"
tdfLinked.SourceTableName = "authors"
dbsCurrent.TableDefs.Append tdfLinked
' Display contents of linked table.
Debug.Print _
"Data from linked table connected to first source:"
RefreshLinkOutput dbsCurrent
' Change connection information for linked table and
' refresh the connection in order to make the new data
' available.
' Note: The DSN referenced below must be configured to
' use Microsoft Windows NT Authentication Mode to
' authorize user access to the Microsoft SQL Server.
tdfLinked.Connect = _
"ODBC;DATABASE=pubs;DSN=NewPublishers"
tdfLinked.RefreshLink
' Display contents of linked table.
Debug.Print _
"Data from linked table connected to second source:"
RefreshLinkOutput dbsCurrent
' Delete linked table because this is a demonstration.
dbsCurrent.TableDefs.Delete tdfLinked.Name
dbsCurrent.Close
End Sub
Sub RefreshLinkOutput(dbsTemp As Database)
Dim rstRemote As Recordset
Dim intCount As Integer
' Open linked table.
Set rstRemote = _
dbsTemp.OpenRecordset("AuthorsTable")
intCount = 0
' Enumerate Recordset object, but stop at 50 records.
With rstRemote
Do While Not .EOF And intCount < 50
Debug.Print , .Fields(0), .Fields(1)
intCount = intCount + 1
.MoveNext
Loop
If Not .EOF Then Debug.Print , "[more records]"
.Close
End With
End Sub