MS/ACCESS, VBA : tester l’existence d’un objet (requête, table…)

Il n’est pas possible de créer deux objets portant le même nom. Aussi avant de créer un objet, il est préférable de s’assurer qu’il n’existe pas déjà. ACCESS gère différentes natures d’objets : requête (Query), table (Table), formulaire (Form)… Le cas qui va être traité ici est celui des requêtes. L’exemple de code fourni ci-après est aisément adaptable à d’autres objets. Pour ce faire, il suffit, par exemple, de remplacer Query par Table pour tester l’existence d’une table.

En synthèse, le code source de la fonction ReqExiste ci-après renvoie « True » (vrai) si l’objet testé existe ou « False » (faux) dans le cas contraire.

Quelques explications sur le code source :

La boucle compteur For Each… In… Next scrute toutes les requêtes (QueryDefs) de la base de données “db”.

Le nom de chacune des requêtes (req.Name) est comparé au nom à tester (strReq) à l’aide du test conditionnel If… Then… Else. Si le nom correspond (=), la fonction renvoie True (la requête existe) et le code s’arrête (Exit Function) ; dans le cas contraire, le code passe à la requête suivante (Next).

Si toutes les requêtes ont été passées en revue et qu’aucune ne correspond au nom recherché, la fonction renvoie False.

Approfondir le sujet : Maîtriser ACCESSMaîtriser le langage VBAMaîtriser le langage de requête SQL / Analyse de données

Share Button
The following two tabs change content below.
Benoît RIVIERE
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.