web-dev-qa-db-fra.com

Table liée MS Access 2010 changez la chaîne de connexion

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

  1. Où se trouve la chaîne de connexion? Comment le changer (exemple de nom de base de données)?

  2. 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).

20
Rena Sun

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
31
Fionnuala

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.

  1. Ouvrez MS Access
  2. Cliquez avec le bouton droit de la souris sur une table qui fonctionnait ou vous êtes sûr que cela fonctionne et choisissez "Design View".
  3. Sélectionnez Oui sur l'écran d'avertissement pour continuer
  4. Si, à droite, il n'y a pas de fenêtre de propriétés pour la table, dans le ruban (Access 2010), cliquez sur Feuille de propriétés
  5. Cela révèle une propriété Description - copiez tout ce qu'elle est dans cette propriété et collez-la dans le Bloc-notes ou quelque part pour plus tard.

Mettez ensuite à jour la chaîne de connexion.

  1. Cliquez sur les données externes dans le ruban et choisissez ‘Linked Table Manager’
    1. Cliquez sur la case à cocher Toujours demander un nouvel emplacement - il s'agit d'un moyen compliqué de demander à l'utilisateur s'il perd des informations sur la connexion.
    2. Cliquez sur le bouton Sélectionner tout ou choisissez les tables que vous souhaitez mettre à jour avec des coches
    3. Cliquez sur OK
  2. Une boîte de dialogue apparaît. Cliquez sur Nouveau
    1. Choisissez SQL Server comme pilote
    2. Cliquez sur le bouton avancé
    3. Collez tout ça dans le Bloc-notes
      • SAUF SUPPRIMER LE TABLEAU =… bourrer jusqu'au prochain point-virgule.
      • Changer le nom du serveur
      • Cliquez sur OK
    4. Il vous invite ensuite à enregistrer tout cela dans un fichier pour plus tard. Choisissez un emplacement dans Mes documents dans un dossier de connexions - ou mieux encore sur un emplacement réseau pour que d'autres puissent l'utiliser plus tard
    5. Cliquez sur OK plusieurs fois
    6. À présent, Access remplacera toutes vos tables par la nouvelle chaîne DSN (détails de connexion).
23
Richard YS