Propiedad Form.HasModule (Access)

Use la propiedad HasModule para especificar o determinar si un formulario o informe tiene un módulo de clase. Boolean de lectura y escritura.

Sintaxis

expresión. HasModule

expresión Variable que representa un objeto Form.

Comentarios

La propiedad HasModule puede tener los valores siguientes:

Configuración Visual Basic Descripción
True El formulario o el informe tiene un módulo de clase.
No False (Valor predeterminado). El formulario o el informe no tiene un módulo de clase.

Al establecer esta propiedad en False, se puede mejorar el rendimiento y reducir el tamaño de la base de datos.

La propiedad HasModule puede establecerse sólo en el formulario o la vista Diseño del informe, pero puede leerse en cualquier vista.

Formularios o informes que tienen la propiedad HasModule establecida en No se consideran objetos sin código. 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. En muchos casos, un formulario o un informe no necesita usar procedimientos de evento ni requiere un módulo de clase.

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. Por ejemplo, para abrir el formulario Empleados desde un botón de comando en un panel de control, puede establecer la propiedad HyperlinkSubAddress del control en Form Employees.

Los objetos ligeros no aparecen en el Explorador de objetos y no se puede usar la palabra clave New para crear una nueva instancia del objeto. Un formulario o informe sin código se puede usar como un subformulario o subinforme y aparecerá en la colección Forms o Reports. Los objetos ligeros admiten el uso de macros y procedimientos públicos que existen en módulos estándar cuando se llama desde la hoja de propiedades del objeto.

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. Por ejemplo, al seleccionar 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 su propiedad HasModule en 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.

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 cualquier código que pueda contener.

Cuando se usa un método del objeto Module o se hace referencia a la propiedad Module para un formulario o informe en la vista Diseño, Access crea el módulo asociado y establece la propiedad HasModule del objeto en 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.

Los objetos creados mediante el uso CreateForm o CreateReport métodos son ligeros de forma predeterminada.

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? 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.