Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
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 .
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 ,
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 .
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 ,
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 ,
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,
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 ,
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.