Método Application.CreateControl (Access)

O método CreateControl cria um controle em um formulário aberto especificado. Por exemplo, suponha que você esteja desenvolvendo um assistente personalizado que permite aos usuários elaborar um formulário específico. Use o método CreateControl no assistente para adicionar os controles apropriados ao formulário.

Sintaxe

expressão. CreateControl (FormName, ControlType, Section, Parent, ColumnName, Left, Top, Width, Height)

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

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
FormName Obrigatório String O nome do formulário ou relatório aberto no qual você deseja criar o controle.
ControlType Obrigatório AcControlType Uma constante AcControlType que representa o tipo de controle que você deseja criar.
Section Opcional AcSection Uma constante acSection que identifica a seção que conterá o novo controle.
Responsável Opcional Variantes O nome do controle pai de um controle anexado. Para controles que não têm controle pai, use uma cadeia de caracteres de comprimento zero para esse argumento ou omita-o.
ColumnName Opcional Variantes O nome do campo ao qual o controle será vinculado se for para ser um controle vinculado a dados.
Esquerda, Superior Opcional Variantes As coordenadas para o canto superior esquerdo do controle em twips.
Width, Height Opcional Variantes Expressões numéricas que indicam a largura e altura do controle em twips.

Valor de retorno

Controle

Comentários

Use os métodos CreateControl e CreateReportControl em um assistente personalizado para criar controles em um formulário ou relatório. Ambos os métodos retornam um objeto Control .

Use os métodos CreateControl e CreateReportControl apenas na exibição design de formulário ou no modo design do relatório, respectivamente.

Você usa o argumento Pai para identificar a relação entre um controle principal e um controle subordinado. Por exemplo, se uma caixa de texto possuir um rótulo anexado, a caixa de texto será o controle principal (ou pai) e o rótulo será o controle subordinado (ou filho). Ao criar o controle de rótulo, defina seu argumento Pai como uma cadeia de caracteres que identifica o nome do controle pai. Ao criar a caixa de texto, defina o argumento Pai como uma cadeia de caracteres de comprimento zero.

Você também define o argumento Pai ao criar caixas de seleção, botões de opção ou botões de alternância. Um grupo de opções é o controle pai de caixas de seleção, botões de opção ou botões de alternância que ele contenha. Os únicos controles que podem ter um controle pai são rótulo, caixa de seleção, botão de opção ou botão de alternância. Todos esses controles também podem ser criados independentemente, sem um controle pai.

Defina o argumento ColumnName de acordo com o tipo de controle que você está criando e se ele será ou não associado a um campo em uma tabela. Os controles que podem ser acoplados a um campo incluem caixa de texto, caixa de listagem, caixa de combinação, grupo de opções e quadro de objeto acoplado. Além disso, os controles botão de alternância, botão de opção e caixa de seleção só poderão ser acoplados a um campo se não estiverem contidos em um grupo de opções.

Se você especificar o nome de um campo para o argumento ColumnName , crie um controle associado a esse campo. Todas as propriedades do controle serão, então, automaticamente definidas segundo as propriedades de qualquer campo correspondente. Por exemplo, o valor da propriedade ValidationRule do controle será o mesmo que o valor dessa propriedade para o campo.

Observação

Se seu assistente criar controles em um formulário ou relatório novo ou existente, deverá primeiro abrir o formulário ou relatório no modo de design.

Para remover um controle de um formulário ou relatório, use os métodos DeleteControl e DeleteReportControl .

Exemplo

O exemplo a seguir cria um novo formulário baseado em uma tabela Orders. Em seguida, utiliza o método CreateControl para criar um controle caixa de texto e um controle rótulo anexado no formulário.

Sub NewControls() 
 Dim frm As Form 
 Dim ctlLabel As Control, ctlText As Control 
 Dim intDataX As Integer, intDataY As Integer 
 Dim intLabelX As Integer, intLabelY As Integer 
 
 ' Create new form with Orders table as its record source. 
 Set frm = CreateForm 
 frm.RecordSource = "Orders" 
 ' Set positioning values for new controls. 
 intLabelX = 100 
 intLabelY = 100 
 intDataX = 1000 
 intDataY = 100 
 ' Create unbound default-size text box in detail section. 
 Set ctlText = CreateControl(frm.Name, acTextBox, , "", "", _ 
 intDataX, intDataY) 
 ' Create child label control for text box. 
 Set ctlLabel = CreateControl(frm.Name, acLabel, , _ 
 ctlText.Name, "NewLabel", intLabelX, intLabelY) 
 ' Restore form. 
 DoCmd.Restore 
End Sub

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.