Como Ajustar automaticamente as Colunas em um SubForm
Prezado leitor!
Neste artigo sobre Access VBA você vai aprender um procedimento bem simples para que a largura das colunas do seu sub formulário sejam ajustados automaticamente quando você carregar o seu formulário.
Esta funcionalidade pode ser muito útil dependendo do seu projeto.
Para exemplificar a nossa solução vou tomar como base o “case” que divulgamos no vídeo Como Ajustar automaticamente as Colunas em um SubForm
Primeiramente vamos apresentar o nosso subformulário que representa as Ordens de Compra dos fornecedores que estão no formulário principal. Á medida que navegamos pelos fornecedores, as ordens de compra associada a eles são exibidas no subformulário.

Agora, como podemos abrir este formulário e que estas colunas não estejam comprimidas?
Repare que as colunas do subform estão todas comprimidas propositalmente. Para resolver isso vamos incluir o seguinte procedimento no evento “Ao Abrir” do formulário
Private Sub Form_Open(Cancel As Integer)
Dim ctrl As Control
For Each ctrl In Forms![frmFornecedores]!sfrmOC.Controls
If TypeOf ctrl Is TextBox Or TypeOf ctrl Is ComboBox Then
'Define a largura da coluna como Automática
ctrl.ColumnWidth = -2
End If
Next
End Sub
Gostaria de destacar 3 pontos importantes que se apresentam neste procedimento:
- A forma de se referenciar a um Subform, dentro do form atual (Forms![frmFornecedores]!sfrmOC.Controls);
- A Função TypeOf, utilizada dentro da Condicional para associar a um objeto;
- A Propriedade ColumnWidth = -2, que define como automática a largura de uma coluna.
Ao exibir o formulário, certamente o resultado será neste formato, conforme abaixo:

Um forte abraço!
Aldir Oliveira
