Partilhar via


Propriedade Form.HasModule (Access)

Use a propriedade HasModule para especificar ou determinar se um formulário ou relatório tem um módulo de classe. Boolean de leitura/gravação.

Sintaxe

expressão. HasModule

expressão Uma variável que representa um objeto Form.

Comentários

A propriedade HasModule utiliza as configurações a seguir.

Configuração Visual Basic Descrição
Sim True O formulário ou relatório tem um módulo de classe.
Não False (Padrão) O formulário ou relatório não tem um módulo de classe.

A definição dessa propriedade como False pode melhorar o desempenho e diminuir o tamanho do banco de dados.

A propriedade HasModule pode ser definida somente no formulário ou modo Design do relatório, mas pode ser lida em qualquer modo.

Formulários ou relatórios que têm a propriedade HasModule definida como não são considerados objetos simplificados. Os objetos simplificados são menores e geralmente carregar e exibem mais rapidamente que objetos com módulos classe associados. Em muitos casos, um formulário ou relatório não precisa usar procedimentos de evento e não requer um módulo de classe.

Se seu aplicativo utiliza um formulário switchboard para navegar por outros formulários, em vez de usar os botões de comando com procedimentos de evento, você pode usar um botão de comando com uma macro ou um hiperlink. Por exemplo, para abrir o formulário Funcionários de um botão de comando em um quadro de opções, você pode definir a propriedade HyperlinkSubAddress do controle como Forma de Funcionários.

Objetos leves não aparecem no Navegador de Objetos e você não pode usar a palavra-chave Novo para criar uma nova instância do objeto. Um formulário ou relatório simplificado pode ser usado como um subformulário ou sub-relatório e serão exibidos no conjunto de formulários ou relatórios. Objetos leves dão suporte ao uso de macros e procedimentos públicos que existem em módulos padrão quando chamados da folha de propriedades do objeto.

O Microsoft Access define a propriedade HasModule como True, assim que você tentar exibir o módulo de um objeto, mesmo se nenhum código realmente é adicionado ao módulo. Por exemplo, selecionar Código no menu Exibir para um formulário no modo de exibição Design faz com que o Access adicione um módulo de classe ao objeto Form e defina sua propriedade HasModule como True. Você pode adicionar um módulo de classe a um objeto da mesma maneira, definindo a propriedade HasModule como Sim na folha de propriedades de um objeto.

Se você definir a propriedade HasModule como No usando a folha de propriedades de um objeto ou defini-la como False usando o Visual Basic, o Access excluirá o módulo de classe do objeto e qualquer código que ele possa conter.

Quando você usa um método do objeto Module ou se refere à propriedade Module para um formulário ou relatório na exibição Design, o Access cria o módulo associado e define a propriedade HasModule do objeto como True. Se você se referir à propriedade de módulo de um formulário ou relatório em tempo de execução e o objeto tem sua propriedade HasModule definida como False, ocorrerá um erro.

Objetos criados usando o CreateForm ou CreateReport métodos são simplificados por padrão.

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.