Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

VBA-Code zum Hinzufügen einer verknüpften Tabelle mit Primärschlüssel

Warum können Sie nach dem Linken keinen Index für eine ODBC-Quelle erstellen?

Bei der Arbeit verwenden wir Access mit verknüpften SQL Server-Tabellen, und wenn jemand eine Verbindung zu einer anderen Datenbank herstellen möchte (Wechsel von der Produktionsumgebung in die Testumgebung), machen wir so etwas für alle Tabellen:

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"