I am working on a existing MS Access 2010 project that has a linked table link to Sql Server database.
When I mouse over to the linked table I can see a connection string 'ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user'
This looks like a dsn-less linked table.
Question
Where the connect string locate at? How to change it (example database name)?
How can I create a similar dsn-less linked table? Anytime when I create a linked table Access 2010 always force me to choose\create a dsn (file or machine).
To print all connection strings:
Dim tdf As TableDef Dim db As Database Set db = CurrentDb For Each tdf In CurrentDb.TableDefs If tdf.Connect <> vbNullString Then Debug.Print tdf.Name; " -- "; tdf.SourceTableName; " -- "; tdf.Connect End If Next
To create a linked table:
With CurrentDb ''If the table does not have a unique index, you will need to create one ''if you wish to update. Set tdf = .CreateTableDef("LocalName") tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _ & "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user" tdf.SourceTableName = "TABLE_NAME" .TableDefs.Append tdf .TableDefs.Refresh End With
To change a link:
Set db = CurrentDB Set tdf = db.TableDefs("MyTable") tdf.Connect = "ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;" _ & "UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user" tdf.RefreshLink
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With