Comment modifier par programmation la connexion d’un projet Access

Avancé : nécessite des compétences d’experts en codage, en interopérabilité et en multi-utilisateur.

Cet article s’applique uniquement à un projet Microsoft Access (.adp).

Résumé

Cet article explique comment modifier par programmation la connexion d’un fichier de projet Microsoft Access (ADP).

Informations supplémentaires

Le moyen le plus simple de modifier la connexion d’un ADP consiste à le faire manuellement. Vous pouvez accéder aux propriétés de connexion du projet actuel comme suit dans Access 2002 ou Access 2003 : dans le menu Fichier, cliquez sur Connexion. La boîte de dialogue qui s’affiche vous permet de modifier le nom du serveur et les modes de sécurité, entre autres propriétés.

Note Dans Access 2007, procédez comme suit pour ouvrir l’onglet Connexion de la boîte de dialogue Propriétés de la liaison de données :

  1. Cliquez sur le bouton Microsoft Office, puis sur Options d’accès.
  2. Sous l’onglet Personnaliser , cliquez sur Toutes les commandes dans la liste Choisir les commandes à partir de .
  3. Cliquez sur Connexion dans le volet gauche, sur Ajouter, puis sur OK.
  4. Cliquez sur Connexion dans la barre d’outils Accès rapide.

Toutefois, il peut arriver que vous souhaitiez automatiser le processus. Vous souhaiterez peut-être que les utilisateurs se connectent à un autre serveur SQL pour une section spécifique de votre application, ou vous souhaiterez peut-être contrôler le processus de connexion au démarrage afin de pouvoir rechercher les erreurs et les gérer en conséquence, par exemple en les acheminant vers un autre serveur.

Les étapes suivantes utilisent une fonction qui montre comment modifier la connexion existante d’un ADP à l’aide du modèle objet Access. La fonction retourne True si elle réussit et False si elle ne réussit pas.

  1. Démarrez Access, puis ouvrez l’exemple de projet Access NorthwindCS.adp.

  2. Dans Access 2002 ou Access 2003, cliquez sur Modules sous Objets dans la fenêtre Base de données, puis cliquez sur Nouveau pour ouvrir un nouveau module.

    Dans Access 2007, cliquez sur la flèche vers le bas sous Macro dans le groupe Autres sous l’onglet Créer , puis cliquez sur Module.

  3. Ajoutez le code suivant au nouveau module, puis enregistrez le module :

Function ChangeADPConnection(strServerName As String, strDBName As _
   String, Optional strUN As String, Optional strPW As String) As Boolean
Dim strConnect As String
On Error GoTo EH:
Application.CurrentProject.CloseConnection
'The Provider, Data Source, and Initial Catalog arguments are required.
strConnect = "Provider=SQLOLEDB.1" & _
";Data Source=" & strServerName & _
";Initial Catalog=" & strDBName
If strUN <> "" Then
    strConnect = strConnect & ";user id=" & strUN
    If strPW <> "" Then
        strConnect = strConnect & ";password=" & strPW
    End If
Else  'Try to use integrated security if no username is supplied.
    strConnect = strConnect & ";integrated security=SSPI"
End If
Application.CurrentProject.OpenConnection strConnect
ChangeADPConnection = True
Exit Function
EH:
MsgBox Err.Number & ": " & Err.Description, vbCritical, "Connection Error"
ChangeADPConnection = False
End Function

  1. Dans Access 2002 ou dans Access 2003, cliquez sur Formulaires sous Objets dans la fenêtre Base de données, cliquez sur Nouveau, puis sur OK pour ouvrir un nouveau formulaire en mode Création.

    Dans Access 2007, cliquez sur Formulaire sous l’onglet Créer .

  2. Ajoutez un bouton de commande au formulaire.

  3. Définissez la propriété OnClick du bouton de commande sur la procédure événementielle suivante :

Dim bCheckConnection As Boolean
   'You must specify the correct parameters for your following server.
   'username and password parameters are optional.
bCheckConnection=ChangeADPConnection("ServerName","DBName","UserName","PW")
MsgBox bCheckConnection
  1. Fermez l’environnement Visual Basic pour revenir au formulaire.

  2. Enregistrez le formulaire, puis basculez le formulaire en mode Formulaire.

  3. Cliquez sur le bouton de commande pour exécuter le code sous-jacent.

    Vous recevrez un message indiquant True si vous avez fourni des paramètres corrects pour une connexion à l’étape 6.

    - OU -

    Si vous n’avez pas fourni les paramètres corrects, vous recevez le message d’erreur. Lorsque vous cliquez sur OK pour accéder au message d’erreur, vous obtenez la zone de message qui affiche False.