Propriété Form.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

expressionVariable qui représente un objetForm.

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 d’un standard, vous pouvez définir la propriété HyperlinkSubAddress du contrôle sur Employés en formulaire.

Les objets légers n’apparaissent pas dans l’Explorateur d’objets et vous ne pouvez pas utiliser le mot clé Nouveau pour créer une nouvelle instance de l’objet. Un formulaire léger peut être utilisé comme sous-formulaire ou sous-état et apparaît dans la collection Formulaires ou états . Les objets légers prennent en charge l’utilisation des macros et des 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, la sélection de Code dans le menu Affichage d’un formulaire en mode Création entraîne l’ajout par Access d’un module de classe à l’objet Formulaire et la définition de 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 définissez la propriété HasModule sur Non en utilisant la feuille de propriétés d’un objet ou en la définissant sur False à l’aide de Visual Basic, Access supprime le module de classe de l’objet et tout code qu’il peut contenir.

Lorsque vous utilisez une méthode de l’objet Module ou que vous faites référence à la propriété Module pour un formulaire ou un état en mode Création, Access crée le module associé et définit la propriété HasModule de l’objet sur True. 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.