The primary key is in the SQL database. It cannot be "lost" through
relinking. You are not deleting the table. You are deleting the
TableDef whch lives in the front end and provides the connection with
the SQL Table.
Fast air code (on my way out)
Private Sub lODBCConnection()
Dim tdf As DAO.TableDef
With DBEngine(0)(0)
With .TableDefs
.Delete "FFDBAAccounts"
.Refresh
End With
Set tdf = .CreateTableDef("FFDBAAccounts")
With tdf
.SourceTableName = "FFDBAAccounts"
.Connect = "ODBC" _
& ";Driver={Sql Server}" _
& ";Server=server_name" _
& ";Database=database_name" _
& ";PWD=pass_word" _
& ";UID=user_id"
End With
With .TableDefs
.Append tdf
.Refresh
End With
End With
End Sub
On Jun 23, 10:53*am, brucedo...@comcast.net wrote:
Quote:
I've inherited an A2003 application with linked SQL Server 2000 tables
in the back end, using the Microsoft SQL Server ODBC driver.
>
We've set up a test SQL Server database. *I'd like to automate the
process of relinking the application to test/prod.
>
I've found some code examples here of relinking ODBC back ends to
different databases, but they involve deleting the table before
relinking. *My concern is that the primary key information for the
tables will be lost when the table is deleted. *A linked ODBC table
can't be updated unless it has a primary key defined.
>
If anyone can provide information on how to change ODBC linked tables
in code, while maintaining the primary key, I'd appreciate it.
>
TIA
>
Bruce