Pourquoi ne pouvez-vous pas créer un index pour une source ODBC après la liaison ?
Au travail, nous utilisons Access avec des tables SQL Server liées, et lorsque quelqu'un veut se connecter à une autre base de données (passage d'un environnement de production à un environnement de test), nous faisons quelque chose comme ceci pour toutes les tables :
Dim TD As TableDef
Dim ConString As String
ConString = "ODBC;DRIVER={SQL Server};SERVER=ServerName;DATABASE=DbName;Trusted_Connection=Yes;"
CurrentDb.TableDefs.Delete "SomeTable"
Set TD = CurrentDb.CreateTableDef("SomeTable", 0, "SomeTable", ConString)
CurrentDb.TableDefs.Append TD
Set TD = Nothing
CurrentDb.Execute "CREATE UNIQUE INDEX SomeIndex ON SomeTable (PrimaryKeyColumn) WITH PRIMARY"