Je travaille sur un projet MS Access 2010 existant qui a un lien de table lié à la base de données Sql Server.
Lorsque je passe la souris sur la table liée, je peux voir une chaîne de connexion 'ODBC;DRIVER=SQL Server;SERVER=10.0.0.1;UID=testdb;APP=Microsoft Office 2003;WSID=abc;TABLE=dbo.user'
Cela ressemble à une table liée sans DSN.
Question
Où se trouve la chaîne de connexion? Comment le changer (exemple de nom de base de données)?
Comment puis-je créer une table liée sans DSN similaire? Chaque fois que je crée une table liée, Access 2010 m'oblige toujours à choisir\créer un DSN (fichier ou machine).
Pour imprimer toutes les chaînes de connexion:
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
Pour créer une table liée:
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
Pour modifier un lien:
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
Vous pouvez modifier la chaîne de connexion à l'aide du guide suivant ( Source d'origine ).
Tout d'abord, récupérez la chaîne de connexion existante.
Mettez ensuite à jour la chaîne de connexion.