Ouvrir une table attachée en profitant des index

Contenu du snippet

Lorsque vous ouvrez une table attachée, ses index ne sont pas disponibles ce qui empêche toute recherche digne de ce nom. Cette procédure permet d'ouvrir la table et de profiter de toutes ses collections (les index, entre autres) en remplaçant l'ouverture classique par ceci :

Set tbTable = OpenForSeek(dbBase, "TABLE")

Source / Exemple :


Public Function OpenForSeek(pCurDB As Database, ByVal pTableName As String) As Recordset
    '***********************************************************************
    '* Permet d'ouvrir une table attachée pour des recherches    *
    '* avec la méthode Seek                                                                     *
    '* (Suppose une table MS-ACCESS)                                               *
    '***********************************************************************
    
    Dim pos As Long
    Dim ConnectString As String
    Dim AttachDBPath As String
    
    ConnectString = pCurDB.TableDefs(pTableName).Connect
    pos = InStr(ConnectString, "DATABASE=")
    If pos = 0 Then
        AttachDBPath = ConnectString
    Else
        AttachDBPath = Right$(ConnectString, Len(ConnectString) - pos - 8)
    End If
    
    Set OpenForSeek = DBEngine.Workspaces(0).OpenDatabase(AttachDBPath, False, False).OpenRecordset(pTableName, dbOpenTable)
End Function

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.