Por que você não pode criar um índice para uma fonte ODBC após a vinculação?
No trabalho, estamos usando o Access com tabelas vinculadas do SQL Server e, quando alguém deseja se conectar a um banco de dados diferente (alterar do ambiente de produção para o ambiente de teste), fazemos algo assim para todas as tabelas:
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"