Compartilhar via


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. Utilize o método CreateControl no seu assistente para adicionar os controlos adequados 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 controlo que pretende criar.
Section Opcional AcSection Uma constante AcSection que identifica a secção que irá conter o novo controlo.
Parent Opcional Variant O nome do controle pai de um controle anexado. Para controlos sem controlo principal, utilize uma cadeia de comprimento zero para este argumento ou omita-o.
ColumnName Opcional Variant O nome do campo ao qual o controlo será vinculado para ser um controlo vinculado a dados.
Esquerda,Superior Opcional Variant As coordenadas do canto superior esquerdo do controlo em twips.
Width, Height Opcional Variant Expressões numéricas que indicam a largura e altura do controle em twips.

Valor de retorno

Control

Comentários

Utilize os métodos CreateControl e CreateReportControl num assistente personalizado para criar controlos num formulário ou relatório. Ambos os métodos devolvem um objeto Controlo .

Utilize os métodos CreateControl e CreateReportControl apenas na vista Estrutura do formulário ou na vista estrutura do relatório, respetivamente.

Utilize o argumento Principal para identificar a relação entre um controlo principal e um controlo 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). Quando criar o controlo de etiqueta, defina o respetivo argumento Principal para uma cadeia que identifique o nome do controlo principal. Quando criar a caixa de texto, defina o respetivo argumento Principal para uma cadeia de comprimento zero.

Também define o argumento Principal quando cria marcar caixas, botões de opção ou botões de alternar. 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 controlo que está a criar e se será ou não vinculado a um campo numa 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 especificar o nome de um campo para o argumento ColumnName , crie um controlo vinculado 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 controlo 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 controlo de um formulário ou relatório, utilize 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.