Propiedad Form. HasModule (Access)Form.HasModule property (Access)

Puede usar la propiedad HasModule para especificar o determinar si un formulario o informe tiene un módulo de clase.You can use the HasModule property to specify or determine whether a form or report has a class module. Boolean de lectura y escritura.Read/write Boolean.

SintaxisSyntax

expresión. HasModuleexpression.HasModule

expresión Variable que representa un objeto Form.expression A variable that represents a Form object.

ObservacionesRemarks

La propiedad HasModule puede tener los valores siguientes:The HasModule property uses the following settings.

SettingSetting Visual BasicVisual Basic DescripciónDescription
Yes TrueTrue El formulario o el informe tiene un módulo de clase.The form or report has a class module.
NoNo FalseFalse (Valor predeterminado). El formulario o el informe no tiene un módulo de clase.(Default) The form or report doesn't have a class module.

Al establecer esta propiedad en False, se puede mejorar el rendimiento y reducir el tamaño de la base de datos.Setting this property to False can improve the performance and decrease the size of your database.

La propiedad HasModule puede establecerse sólo en el formulario o la vista Diseño del informe, pero puede leerse en cualquier vista.The HasModule property can be set only in form or report Design view but can be read in any view.

Formularios o informes que tienen la propiedad HasModule establecida en No se consideran objetos sin código.Forms or reports that have the HasModule property set to No are considered lightweight objects. Los objetos sin código son más pequeños y normalmente se cargan y se muestran más rápido que los objetos con módulos de clase asociados.Lightweight objects are smaller and typically load and display faster than objects with associated class modules. En muchos casos, un formulario o un informe no necesita usar procedimientos de evento ni requiere un módulo de clase.In many cases, a form or report doesn't need to use event procedures and doesn't require a class module.

Si la aplicación usa un formulario de panel de control para navegar a otros formularios, en lugar de usar botones de comando con los procedimientos de evento, puede usar un botón de comando con una macro o un hipervínculo.If your application uses a switchboard form to navigate to other forms, instead of using command buttons with event procedures, you can use a command button with a macro or hyperlink. Por ejemplo, para abrir el formulario empleados desde un botón de comando en un panel de control, puede establecer la propiedad SubdirecciónDeHipervínculo del control en formulario empleados.For example, to open the Employees form from a command button on a switchboard, you can set the control's HyperlinkSubAddress property to Form Employees.

Los objetos ligeros no aparecen en el examinador de objetos y no puede usar la palabra clave New para crear una nueva instancia del objeto.Lightweight objects don't appear in the Object Browser, and you can't use the New keyword to create a new instance of the object. Un formulario o informe sin código se puede usar como un subformulario o subinforme y aparecerá en la colección Forms o Reports.A lightweight form or report can be used as a subform or subreport and will appear in the Forms or Reports collection. Los objetos ligeros admiten el uso de macros y procedimientos públicos que existen en los módulos estándar cuando se llaman desde la hoja de propiedades del objeto.Lightweight objects support the use of macros and public procedures that exist in standard modules when called from the object's property sheet.

Microsoft Access establece la propiedad HasModule en True en cuanto se intenta ver el módulo de un objeto, incluso si no se agrega código al módulo.Microsoft Access sets the HasModule property to True as soon as you attempt to view an object's module, even if no code is actually added to the module. Por ejemplo, si se selecciona código en el menú Ver de un formulario en la vista Diseño, Access agrega un módulo de clase al objeto Form y establece la propiedad TieneUnMóduloAsociado (HasModule ) en verdadero.For example, selecting Code from the View menu for a form in Design view causes Access to add a class module to the Form object and set its HasModule property to True. Puede agregar un módulo de clase a un objeto de la misma forma estableciendo la propiedad HasModule en Sí en la hoja de propiedades de un objeto.You can add a class module to an object in the same way by setting the HasModule property to Yes in an object's property sheet.

Si establece la propiedad HasModule en no mediante la hoja de propiedades de un objeto o la establece en false mediante Visual Basic, Access elimina el módulo de clase del objeto y el código que contenga.If you set the HasModule property to No by using an object's property sheet or set it to False by using Visual Basic, Access deletes the object's class module and any code it may contain.

Cuando se utiliza un método del objeto Module o se hace referencia a la propiedad Module de un formulario o informe en la vista Diseño, Access crea el módulo asociado y establece la propiedad TieneUnMóduloAsociado (HasModule ) del objeto a true.When you use a method of the Module object or refer to the Module property for a form or report in Design view, Access creates the associated module and sets the object's HasModule property to True. Si hace referencia a la propiedad Module de un formulario o informe en tiempo de ejecución y el objeto tiene su propiedad HasModule establecida en False, se producirá un error.If you refer to the Module property of a form or report at run-time and the object has its HasModule property set to False, an error will occur.

Los objetos creados mediante el uso CreateForm o CreateReport métodos son ligeros de forma predeterminada.Objects created by using the CreateForm or CreateReport methods are lightweight by default.

Soporte técnico y comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.