Método Application. createControl (Access)Application.CreateControl method (Access)

O método CreateControl cria um controle em um formulário aberto especificado.The CreateControl method creates a control on a specified open form. Por exemplo, suponha que você esteja desenvolvendo um assistente personalizado que permite aos usuários elaborar um formulário específico.For example, suppose you are building a custom wizard that allows users to easily construct a particular form. Você pode usar o método CreateControl em seu assistente para adicionar os controles apropriados ao formulário.You can use the CreateControl method in your wizard to add the appropriate controls to the form.

SintaxeSyntax

expressão. CreateControl (FormName, ControlType, seção, pai, ColumnName, esquerda, superior, largura, altura)expression.CreateControl (FormName, ControlType, Section, Parent, ColumnName, Left, Top, Width, Height)

expressão Uma variável que representa um objeto Application .expression A variable that represents an Application object.

ParâmetrosParameters

NomeName Obrigatório/OpcionalRequired/Optional Tipo de dadosData type DescriçãoDescription
FormNameFormName ObrigatórioRequired StringString O nome do formulário ou relatório aberto no qual você deseja criar o controle.The name of the open form or report on which you want to create the control.
ControlTypeControlType ObrigatórioRequired AcControlTypeAcControlType Uma **** constante accontroltype que representa o tipo de controle que você deseja criar.An AcControlType constant that represents the type of control that you want to create.
SectionSection OpcionalOptional AcSectionAcSection Uma constante AcSection que identifica a seção que conterá o novo controle.An AcSection constant that identifies the section that will contain the new control.
ParentParent OpcionalOptional VariantVariant O nome do controle pai de um controle anexado.The name of the parent control of an attached control. Para controles que não têm controle pai, use uma cadeia de comprimento zero para este argumento ou omita-o.For controls that have no parent control, use a zero-length string for this argument or omit it.
ColumnNameColumnName OpcionalOptional VariantVariant O nome do campo ao qual o controle será associado se for ser um controle vinculado a dados.The name of the field to which the control will be bound if it is to be a data-bound control.
Esquerda, superiorLeft,Top OpcionalOptional VariantVariant As coordenadas do canto superior esquerdo do controle em twips.The coordinates for the upper-left corner of the control in twips.
Width, HeightWidth, Height OpcionalOptional VariantVariant Expressões numéricas que indicam a largura e altura do controle em twips.Numeric expressions indicating the width and height of the control in twips.

Valor de retornoReturn value

ControlControl

ComentáriosRemarks

Você pode usar os **** métodos CreateControl e CreateReportControl em um assistente personalizado para criar controles em um formulário ou relatório.You can use the CreateControl and CreateReportControl methods in a custom wizard to create controls on a form or report. Os dois métodos retornam um objeto Control .Both methods return a Control object.

Os métodos CreateControl e CreateReportControl só podem ser usados no modo de design do formulário ou modo de design do relatório, respectivamente.You can use the CreateControl and CreateReportControl methods only in form Design view or report Design view, respectively.

Você usa o argumento pai para identificar a relação entre um controle principal e um controle subordinado.You use the Parent argument to identify the relationship between a main control and a subordinate control. 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).For example, if a text box has an attached label, the text box is the main (or parent) control and the label is the subordinate (or child) control. Ao criar o controle Label, defina seu argumento pai como uma cadeia de caracteres identificando o nome do controle pai.When you create the label control, set its Parent argument to a string identifying the name of the parent control. Ao criar a caixa de texto, defina seu argumento pai como uma cadeia de comprimento zero.When you create the text box, set its Parent argument to a zero-length string.

Você também define o argumento pai ao criar caixas de seleção, botões de opção ou botões de alternância.You also set the Parent argument when you create check boxes, option buttons, or toggle buttons. 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.An option group is the parent control of any check boxes, option buttons, or toggle buttons that it contains. 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.The only controls that can have a parent control are a label, check box, option button, or toggle button. Todos esses controles também podem ser criados independentemente, sem um controle pai.All of these controls can also be created independently, without a parent control.

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.Set the ColumnName argument according to the type of control that you are creating and whether or not it will be bound to a field in a table. 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.The controls that may be bound to a field include the text box, list box, combo box, option group, and bound object frame. 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.Additionally, the toggle button, option button, and check box controls may be bound to a field if they are not contained in an option group.

Se você especificar o nome de um campo para o argumento ColumnName , você cria um controle que está acoplado a esse campo.If you specify the name of a field for the ColumnName argument, you create a control that is bound to that field. Todas as propriedades do controle serão, então, automaticamente definidas segundo as propriedades de qualquer campo correspondente.All of the control's properties are then automatically set to the settings of any corresponding field properties. Por exemplo, o valor da propriedade ValidationRule do controle será o mesmo que o valor dessa propriedade para o campo.For example, the value of the control's ValidationRule property will be the same as the value of that property for the field.

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.If your wizard creates controls on a new or existing form or report, it must first open the form or report in Design view.

Para remover um controle de um formulário ou relatório, use os métodos DeleteControl e DeleteReportControl .To remove a control from a form or report, use the DeleteControl and DeleteReportControl methods.

ExemploExample

O exemplo a seguir cria um novo formulário baseado em uma tabela Orders.The following example first creates a new form based on an Orders table. Em seguida, utiliza o método CreateControl para criar um controle caixa de texto e um controle rótulo anexado no formulário.It then uses the CreateControl method to create a text box control and an attached label control on the form.

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áriosSupport and feedback

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação?Have questions or feedback about Office VBA or this documentation? 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.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.