Partager via


Propriété Report.HasModule (Access)

Utilisez la propriété HasModule pour spécifier ou déterminer si un formulaire ou un état a un module de classe. Boolean (en lecture/écriture).

Syntaxe

expression. HasModule

expression Variable qui représente un objet Report .

Remarques

La propriété HasModule (AvecModule) utilise les paramètres suivants.

Setting Visual Basic Description
Oui True Le formulaire ou l'état possède un module de classe.
Non False (Valeur par défaut) Le formulaire ou l'état ne possède pas de module de classe.

Définir cette propriété sur False, vous pouvez améliorer les performances et diminuer la taille de votre base de données.

La propriété HasModule peut être définie uniquement dans le formulaire ou l'état en mode Création, mais peut être lue dans n'importe quel mode.

Formulaires ou des États dont la propriété HasModule (AvecModule) est définie sur non sont considérés comme des objets légers. Objets légers plus petits et généralement chargement et affichent plus rapides que les objets avec des modules de classe associés. Dans la plupart des cas, un formulaire ou un état n'a pas besoin d'utiliser des procédures événementielles et ne nécessite pas un module de classe.

Si votre application utilise un formulaire menu général pour accéder à d'autres formulaires, au lieu d'utiliser des boutons de commande avec des procédures événementielles, vous pouvez utiliser un bouton de commande avec une macro ou d'un lien hypertexte. Par exemple, pour ouvrir le formulaire Employés à partir d’un bouton de commande sur un tableau téléphonique, vous pouvez définir la propriété HyperlinkSubAddress du contrôle sur Employés de formulaire.

Les objets n'apparaissent pas dans l'Explorateur d'objets et vous ne pouvez pas utiliser le mot clé New pour créer une nouvelle instance de l'objet. Un formulaire ou un état léger peut être utilisé comme sous-formulaire ou sous-état et s’affiche dans la collection Forms ou Reports . Les objets légers prennent en charge l’utilisation de macros et de procédures publiques qui existent dans les modules standard lorsqu’ils sont appelés à partir de la feuille de propriétés de l’objet.

Microsoft Access attribue la valeur True à la propriété HasModule dès que vous essayez d'afficher le module d'un objet, même si aucun code n'est effectivement ajouté au module. Par exemple, si vous sélectionnez Code dans le menu Affichage d’un formulaire en mode Création, Microsoft Access ajoute un module de classe à l’objet Form et définit sa propriété HasModule sur True. Vous pouvez ajouter un module de classe à un objet de la même manière en attribuant la valeur Oui à la propriété HasModule (AvecModule) dans la feuille des propriétés d'un objet.

Si vous attribuez la valeur Non à la propriété HasModule (AvecModule) au moyen de la feuille des propriétés d'un objet ou la valeur False à l'aide de Visual Basic, Microsoft Access supprime le module de classe de l'objet ainsi que le code qu'il contient.

Lorsque vous utilisez une méthode de l’objet Module ou que vous faites référence à la propriété Module d’un formulaire ou d’un état en mode Création, Microsoft Access crée le module associé et affecte la valeur True à la propriété HasModule de l’objet. Si vous faites référence à la propriété Module d'un formulaire ou d'un état pendant l'exécution et que la propriété HasModule de l'objet a la valeur False, une erreur se produit.

Les objets créés à l'aide des méthodes CreateForm ou CreateReport sont sans code par défaut.

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.