Dlaczego nie możesz utworzyć indeksu dla źródła ODBC po połączeniu?
W pracy używamy Access z połączonymi tabelami SQL Server, a gdy ktoś chce połączyć się z inną bazą danych (przejście ze środowiska produkcyjnego na środowisko testowe), robimy coś takiego dla wszystkich tabel:
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"