Rechercher dans ce blog

Chargement...

jeudi 10 février 2011

Récupérer les description des tables d'une base externe dans la base locale

Il peut arriver, lorsque vous créez une application Access "splittée", d'annoter les tables dans le back-end avant de les lier dans l'application à proprement parler. Mais une fois les tables liées, les descriptions sont restées de l'autre côté !
Voici un script à faire tourner pour les récupérer.

Sub getBackEndDescriptions()
'retrieve table descriptions from Back End for linked tables
'and assigns them to local (Front End) links
'by Patrick Honorez - www.idevlop.com
    Dim td As TableDef, db2 As Database
    Dim strDesc As String
    On Error Resume Next
    For Each td In CurrentDb.TableDefs
        If Left(td.Connect, 6) = ";DATAB" Then  'look for ";DATABASE"
            Set db2 = OpenDatabase(Mid(td.Connect, 11), , True)
            strDesc = ""
            strDesc = db2.TableDefs(td.SourceTableName).Properties("Description")
            If Len(strDesc) > 0 Then
                Err.Clear
                'try first by adding the property
                td.Properties.Append td.CreateProperty("Description", dbText, strDesc)
                'try againg by updating the property
                If Err.Number <> 0 Then td.Properties("Description") = strDesc
            End If
            db2.Close
        End If
        MsgBox "Done"
    Next td
End Sub