formateur informatique

Ouvrir une autre base de données depuis un formulaire

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Ouvrir une autre base de données depuis un formulaire
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner  Youtube    Vidos astuces Instagram
Sujets que vous pourriez aussi aimer :


Ouvrir une autre base de données

Cette nouvelle astuce Access montre comment ouvrir une autre base de données depuis un formulaire.

Formulaire Access pour exécuter une autre application de base de données au clic sur un bouton

L'exemple illustré par la capture propose un formulaire absolument épuré, seulement utile pour les besoins de la démonstration. Il est doté d'un bouton nommé Appeler. Au clic sur ce dernier, c'est une autre base de données, située dans un autre emplacement, qui est appelée et ouverte en lieu et place. Mais quel en est l'intérêt ? On peut supposer que cette autre base de données archive toutes les données obsolètes de clients n'existant plus par exemple. La base principale optimise donc ses ressources tandis que la base secondaire permet de conserver la trace et l'historique de toutes les transactions passées.

Bases de données sources
Pour développer cette astuce, nous proposons tout d'abord de récupérer ces deux bases de données. Comme vous pouvez le voir, la décompression fournit deux fichiers de bases de données : base-donnees-appelante.accdb et base-donnees-appelee.accdb. Idéalement, il est intéressant de placer la seconde : base-donnees-appelee.accdb, dans un autre dossier.
  • Double cliquer sur le fichier base-donnees-appelante.accdb pour l'ouvrir dans Access,
  • Cliquer sur le bouton Activer le contenu du bandeau de sécurité,
  • Dans le volet de navigation sur la gauche de l'écran, double cliquer sur le formulaire f_com,
Ainsi, nous l'exécutons. Il est effectivement épuré. Il ne propose aucun enregistrement mais offre un bouton intitulé Appeler. Naturellement, si vous cliquez dessus, rien ne se produit encore. Il s'agit de tout l'enjeu de cette astuce. Il doit appeler et ouvrir la seconde base de données : base-donnees-appelee.accdb.
  • A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste des propositions, choisir le mode création,
Nous basculons ainsi dans la vue en conception du formulaire Access.

Exécuter une application
Access propose une action de macro pour exécuter n'importe quelle autre application. Mais nous allons le voir, cette action est bien cachée. C'est la raison pour laquelle cette astuce est tout à fait pertinente afin de la dénicher. Mais le tour de force ne consiste pas simplement à exécuter une autre application. Il consiste à y ouvrir un fichier précis. Il peut s'agir d'un document dans Word, d'un classeur dans Excel ou encore comme ici, d'une base de données spécifique dans Access.
  • Cliquer sur le bouton Appeler pour le sélectionner,
  • Activer alors l'onglet Evénement de sa feuille de propriétés,
Si elle n'est pas visible sur votre espace de travail, vous pouvez afficher la feuille de propriétés en cliquant sur le bouton du même nom dans le ruban contextuel Création.
  • Cliquer sur le petit bouton situé à droite de son événement Au clic,
  • Dans la boîte de dialogue, choisir le générateur de macro et valider par le bouton Ok,
Nous basculons ainsi dans l'éditeur de macro Access. Une première liste déroulante se propose pour choisir une action à exécuter, au clic donc sur le bouton Appeler. L'action que nous cherchons se nomme ExécuterApplication.
  • Déployer la liste déroulante des actions,
Action de macro Access absente pour exécuter une application

En faisant défiler les commandes qui sont classées par ordre alphabétique, vous constatez que l'action que nous cherchons brille par son absence. Elle fait partie des commandes cachées ou protégées, au même titre que l'action Avertissements, dont nous avons déjà démontré l'intérêt au cours de formations passées. Ces commandes sont dédiées à des utilisateurs aguerris.
  • Dans le ruban Création, cliquer sur le bouton Afficher toutes les actions,
L'astuce est aussi simple que cela pour les débloquer toutes.
  • Déployer de nouveau la liste déroulante des actions,
  • Puis, choisir la commande ExécuterApplication,
Comme vous pouvez le voir, un seul argument est nécessaire pour faire tourner cette action.

Action de macro Access pour exécuter une application

Nous devons implémenter la ligne de commande. Il s'agit de désigner tout d'abord le chemin d'accès complet à l'exécutable de l'application, en l'occurrence ici de Microsoft Access. Sans d'autres renseignements dans cette ligne de commande, l'action de macro se contenterait d'ouvrir une autre instance du gestionnaire de base de données. Nous devons donc lui associer le chemin d'accès complet à la base de données à ouvrir dans Access. Les deux chemins doivent être séparés d'un espace.

Tout d'abord, pour trouver l'emplacement de l'exécutable d'Access, l'astuce est triviale.
  • Cliquer avec le bouton droit de la souris sur l'icône de raccourci du logiciel Microsoft Access,
Propriétés de l-exécutable du logiciel Access par clic droit sur son icône

Ce raccourci peut être placé sur votre bureau, dans la barre des tâches ou encore dans le menu Démarrer.
  • Dans le menu contextuel, cliquer sur l'option Propriétés,
Trouver chemin accès pour exécutable Microsoft Access

Une boîte de dialogue apparaît. L'onglet Raccourci est actif par défaut. Le chemin d'accès est sélectionné lui aussi par défaut dans la zone Cible.
  • Copier ce chemin d'accès par le raccourci clavier CTRL + C,
  • Fermer la boîte de dialogue en cliquant sur le bouton Ok,
  • Revenir dans l'éditeur de macro Access,
  • Coller le chemin d'accès (CTRL + V) dans la zone Ligne de commande,
  • Supprimer les guillemets situés en préfixe et suffixe du chemin,
Contrairement au langage VBA, ils sont en effet implicitement considérés.
  • Cliquer ensuite à la fin du chemin pour y replacer le point d'insertion et ajouter un espace,
  • Coller alors le chemin d'accès complet à la seconde base de données téléchargée,
Ligne de commande de macro Access pour ouvrir une autre base de données dans Access

Dans l'exemple illustré par la capture, nous avons créé un dossier nommé transfert pour héberger le fichier de base de données à appeler.
  • Dans le ruban Création, cliquer sur le bouton Enregistrer puis sur le bouton Fermer,
  • De retour sur le formulaire, l'enregistrer à son tour (CTRL + S),
  • Puis, l'exécuter avec la touche F5 du clavier par exemple,
  • Cliquer alors sur le bouton Appeler,
Ouvrir une autre base de données au clic sur un bouton de formulaire Access

Comme vous pouvez le voir, la base de données externe est effectivement chargée dans une nouvelle instance et prend le focus sur l'application active. Pour information, c'est une macro AutoExec qui permet d'ouvrir le formulaire de cette seconde base de données au chargement de l'application.

Pour terminer, sachez que cette action ExécuterApplication est l'équivalent de la fonction VBA Shell. Pour l'exploiter, sur l'événement du clic associé au bouton, il faut choisir le générateur de code à la place du générateur de macro. Cette action a pour effet de créer la procédure événementielle Appeler_Click dans l'éditeur de code VBA Access. Dès lors, il s'agit de construire la syntaxe suivante :

Private Sub Appeler_Click()
Dim retour
retour = Shell("C:\Program Files\Microsoft Office\root\Office16\ MSACCESS.EXE E: \Transfert\ base-donnees-appelee.accdb", 3)
End Sub


La ligne de commande est inscrite entre guillemets cette fois. Le second paramètre sert à indiquer de quelle façon l'instance doit être ouverte. Avec cette valeur, la fenêtre est optimisée et prend le focus. Et vous l'avez compris, cette fonction permet d'ouvrir n'importe quel fichier dans son application, tant que les chemins d'accès sont explicitement renseignés.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn