Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Codice VBA per aggiungere una tabella collegata con chiave primaria

Perché non puoi creare un indice per un'origine ODBC dopo il collegamento?

Al lavoro, utilizziamo Access con tabelle SQL Server collegate e quando qualcuno vuole connettersi a un database diverso (passa dall'ambiente di produzione all'ambiente di test), facciamo qualcosa del genere per tutte le tabelle:

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"