Passer au contenu

Comment repérer les objets masqués d’une base de données ?

Solution : en écrivant une fonction qui vérifie les attributs des éléments de la table des objets systèmes.

Il est très facile de connaître les modules, les tables ou les états qui sont masqués dans une base de données. Il suffit, en effet, de choisir la commande Outils/Options, de sélectionner l’onglet Affichage et de cocher la case [objets masqués]. Cependant, si la base contient un très grand nombre d’éléments cachés et que seuls quelques-uns vous intéresse, il vaut mieux utiliser une fonction exécutée dans la fenêtre de débogage.Ouvrez une base de données quelconque, sélectionnez une table, repérez son nom et effectuez un clic droit. Optez pour Propriétés. Cochez [masqué]. La table n’apparaît plus dans la liste associée à l’onglet Tables. Choisissez ensuite l’onglet Modules. Activez [nouveau]. Saisissez le listing ci-dessous. Déroulez le menu Débogueur et exécutez la commande Compiler les modules chargés afin de vérifier qu’il n’y a pas d’erreurs. Enregistrez le module en appuyant sur +. Choisissez la commande Affichage/Fenêtre Débogage. Dans la partie inférieure de la fenêtre, saisissez ? ObjetMasque(“XXX”), oú XXX correspond au nom de la table que vous avez masquée. Validez. Vrai s’affiche. Essayez ensuite avec le nom d’une table ou d’un autre objet visible. Faux doit apparaître. Vous pouvez ainsi vérifier rapidement la valeur de l’attribut cachée ou visible de n’importe lequel des éléments d’une base de données. Cette fonction explore la table des objets systèmes afin d’y lire les caractéristiques de l’état, du module, etc. que vous désirez tester.Listing :
Public Function ObjetMasque(NomObjet As String) As Boolean
Dim Bdd As Database
Set Bdd = CurrentDb
Dim Enreg As Recordset
Dim ChaineSql As String
ChaineSql = “SELECT Flags FROM MSysObjects WHERE (((Name)='” & NomObjet & “‘));”
Set Enreg = Bdd.OpenRecordset(ChaineSql, dbOpenSnapshot)
ObjetMasque = ((Enreg!flags And 8) = 8)
Enreg.Close
Set Bdd = Nothing
End Function

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Filigrane Press