formateur informatique

Nom et chemin de la base de données Access en VBA

Accueil  >  Bureautique  >  Access  >  Access VBA  >  Nom et chemin de la base de données Access en VBA
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    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Nom et chemin de la base de données

Nous débutons ici une nouvelle série concernant le développement en Visual Basic Access. Dans ce premier volet, il est question de récupérer les informations de la base de données en cours. Ces informations sont souvent nécessaires, notamment pour accéder aux enregistrements de ses tables par le code VBA.

Nom et chemin d-accès à la base de données Access par le code VBA

Sur l'exemple illustré par la capture, l'utilisateur clique sur un bouton. Aussitôt, le nom de la base de données, son chemin d'accès et son chemin complet sont affichés dans trois zones de texte respectives.

Base de données à télécharger
Pour la mise en place de cette astuce VBA, nous proposons de récupérer une petite base de données offrant un formulaire avec ce bouton et ces trois zones de texte. Nous débouchons sur une interface proposant effectivement un bouton et trois zones de texte. Mais bien sûr à ce stade, si vous cliquez sur le bouton, rien ne se produit encore. Les informations de base de données ne sont pas rapatriées.

Les noms des contrôles
Nous allons devoir inscrire des données dans ces zones de saisie. Pour que le code VBA les pilote, nous devons connaître leurs noms d'objet.
  • A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans les propositions, choisir le mode création,
  • Sur le formulaire en conception, cliquer sur la première zone de texte pour la sélectionner,
  • Puis, activer l'onglet Autres de sa feuille de propriétés,
Si elle n'est pas visible dans votre environnement, vous devez l'afficher. Pour cela, il suffit de cliquer sur le bouton Feuille de propriétés dans le ruban Création.

Dès lors, en consultant son attribut Nom, vous constatez que cette première zone de texte est nommée nomBdd.

Trouver les noms des zones de texte sur un formulaire Access

En cliquant tour à tour sur les deux autres zones de saisie, vous constatez qu'elles portent les intitulés respectifs cheminBdd et cheminComplet.

Le nom de la base de données
L'information que nous souhaitons tout d'abord récupérer concerne le nom du fichier de la base de données. Il doit être inscrit dans la première zone de texte (nomBdd) au clic sur le bouton. En conséquence, un code VBA doit être associé à ce bouton.
  • Cliquer sur le bouton pour le sélectionner,
  • Activer alors l'onglet Evénement de sa feuille de propriétés,
  • Cliquer ensuite sur le petit bouton à l'extrémité de son événement Au clic,
  • Dans la boîte de dialogue, choisir le générateur de code et valider par le bouton Ok,
Nous basculons ainsi dans l'éditeur de code VBA Access, plus précisément entre les bornes de la procédure événementielle Commande2_Click. Commande2 est le nom du bouton. Le code que nous y développerons se déclenchera donc au clic sur ce bouton. A ce titre et comme pour tout contrôle, il aurait été plus judicieux de lui attribuer un nom explicite comme recuperer par exemple. Mais comme ce dernier ne doit pas être piloté par le VBA, nous choisissons de le conserver ainsi.
  • Entre les bornes de cette procédure, ajouter l'instruction VBA suivante :
nomBdd.Value = Application.CurrentProject.Name

Value est la propriété d'une zone de texte qui permet d'accéder à son contenu. C'est ainsi que nous l'affectons au nom de la base de données. En effet, l'objet enfant CurrentProject de l'objet Application désigne la base de données en cours. Dès lors, il offre la propriété Name qui restitue le nom de cette base de données et c'est ce que nous proposons de constater.
  • Enregistrer les modifications(CTRL + S) et revenir sur le formulaire (ALT + Tab),
  • Puis, exécuter ce dernier avec la touche F5 du clavier,
  • Dès lors, cliquer sur le bouton de ce formulaire,
Connaître le nom de la base de données en VBA Access

Comme vous pouvez l'apprécier, le nom de la base de données est parfaitement restitué dans la première zone de texte.

Le chemin d'accès à la base de données
Nous l'avons constaté, c'est l'objet enfant CurrentProject de l'objet Application qui désigne la base de données en cours. Et c'est une autre de ses propriétés qui renseigne sur le chemin d'accès à la base de données.
  • Réaliser le raccourci clavier ALT + Tab pour revenir dans l'éditeur VBA Access,
  • A la suite de l'instruction précédente, ajouter l'instruction VBA suivante :
cheminBdd.Value = Application.CurrentProject.Path

C'est naturellement la propriété enfant Path qui donne l'information sur le chemin d'accès.
  • Enregistrer les modifications puis revenir sur le formulaire en exécution (ALT + Tab),
  • Cliquer de nouveau sur le bouton,
Trouver chemin accès base de données en VBA Access

Comme vous pouvez le constater, nous récupérons bien l'information supplémentaire sur le chemin d'accès que nous greffons dans la deuxième zone de texte.

Le chemin complet
Désormais, pour reconstituer le chemin d'accès complet à la base de données, pour la désigner précisément, il suffit d'assembler les deux informations précédentes.
  • Réaliser le raccourci ALT + Tab pour revenir dans l'éditeur VBA Access,
  • A la suite de l'instruction précédente, ajouter la troisième instruction VBA suivante :
cheminComplet.Value = Application.CurrentProject.Path & "\" & Application.CurrentProject.Name

Nous concaténons (&) donc les deux résultats précédents. Dans l'ordre, c'est le chemin d'accès que nous assemblons avec le nom de la base de données. Mais surtout, nous n'oublions pas d'interposer un antislash (\) pour bien entrer dans le dossier en question et ainsi pointer sur le fichier.
  • Enregistrer les modifications et basculer sur le formulaire en exécution,
  • Puis, cliquer de nouveau sur le bouton,
Nous obtenons bien le chemin d'accès complet à la base de données. Et cette information vient s'inscrire en complément dans la troisième zone de texte que nous avons désignée par le code VBA.

Pourtant et c'est tout l'intérêt de ces astuces, il existe une méthode plus simple et plus directe pour obtenir ce chemin d'accès. L'objet Application offre une méthode qui permet de pointer dynamiquement et précisément sur la base de données en cours. Elle se nomme CurrentDb. Grâce à elle et à sa propriété Name, nous pouvons récolter directement ce chemin.
  • Revenir dans l'éditeur VBA Access,
  • Préfixer la troisième instruction d'une apostrophe pour la passer en commentaire,
  • Puis, à la suite du code, ajouter la nouvelle instruction VBA suivante :
Private Sub Commande2_Click()
nomBdd.Value = Application.CurrentProject.Name
cheminBdd.Value = Application.CurrentProject.Path
'cheminComplet.Value = Application.CurrentProject.Path & "\"& Application.CurrentProject.Name
cheminComplet.Value = Application.CurrentDb.Name
End Sub


Maintenant, si vous cliquez une dernière fois sur le bouton du formulaire, pourquoi pas après l'avoir fermé et rouvert, vous constatez que vous récoltez exactement les mêmes informations. Mais concernant le chemin complet, nous avons découvert une méthode beaucoup plus simple pour le livrer.

Récupérer les informations de base de données en VBA Access

 
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