Share via


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.

Paramètre 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 légers 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, 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 définissez la propriété HasModule sur Non à l’aide de la feuille de propriétés d’un objet ou si vous la définissez 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 d’un formulaire ou d’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.