Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Code VBA pour ajouter une table liée avec une clé primaire

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"