Compartir a través de


Método Application.CreateControl (Access)

El método CreateControl crea un control en un formulario abierto especificado. Por ejemplo, suponga que va a crear un asistente personalizado que permite a los usuarios generar de manera sencilla un determinado formulario. Use el método CreateControl en el asistente para agregar los controles adecuados al formulario.

Sintaxis

expresión. CreateControl (FormName, ControlType, Section, Parent, ColumnName, Left, Top, Width, Height)

expresión Variable que representa un objeto Application.

Parámetros

Nombre Obligatorio/opcional Tipo de datos Descripción
FormName Necesario String Nombre del formulario o informe en el que desea crear el control.
ControlType Obligatorio AcControlType Constante AcControlType que representa el tipo de control que desea crear.
Section Opcional AcSection Constante AcSection que identifica la sección que contendrá el nuevo control.
Parent Opcional Variant Nombre del control principal de un control adjunto. En el caso de los controles que no tienen ningún control primario, use una cadena de longitud cero para este argumento o oódelo.
ColumnName Opcional Variant Nombre del campo al que se enlazará el control si va a ser un control enlazado a datos.
Left,Top Opcional Variant Coordenadas de la esquina superior izquierda del control en twips.
Width, Height Opcional Variant Expresiones numéricas que indican el ancho y el alto del control en twips.

Valor devuelto

Control

Comentarios

Use los métodos CreateControl y CreateReportControl en un asistente personalizado para crear controles en un formulario o informe. Ambos métodos devuelven un objeto Control .

Use los métodos CreateControl y CreateReportControl solo en la vista Diseño del formulario o en la vista Diseño del informe, respectivamente.

Use el argumento Parent para identificar la relación entre un control principal y un control subordinado. Por ejemplo, si un cuadro de texto tiene una etiqueta adjunta, el cuadro de texto es el control principal y la etiqueta es el control subordinado. Al crear el control de etiqueta, establezca su argumento Parent en una cadena que identifique el nombre del control primario. Al crear el cuadro de texto, establezca su argumento Parent en una cadena de longitud cero.

También se establece el argumento Primario al crear casillas, botones de opción o botones de alternancia. Un grupo de opciones es el control principal de las casillas, botones de opción o botones de alternancia que contiene. Los únicos controles que pueden tener un control principal son una etiqueta, casilla, botón de opción o botón de alternancia. Todos estos controles pueden también crearse independientemente, sin un control principal.

Establezca el argumento ColumnName según el tipo de control que esté creando y si se enlazará o no a un campo de una tabla. Los controles que pueden depender de un campo incluyen el cuadro de texto, cuadro de lista, cuadro combinado, grupo de opciones y marco de objeto dependiente. Igualmente, los controles de botón de alternancia, de botón de opción y de casilla pueden depender de un campo si no están contenidos en un grupo de opciones.

Si especifica el nombre de un campo para el argumento ColumnName , cree un control que esté enlazado a ese campo. Todas las propiedades del control se establecen entonces automáticamente en los valores de las propiedades de campo correspondientes. Por ejemplo, el valor de la propiedad ValidationRule del control será el mismo que el valor de esa propiedad para el campo.

Nota:

Si el asistente crea controles en un formulario o informe nuevo o existente, debe abrir primero el formulario o informe en la vista Diseño.

Para quitar un control de un formulario o informe, use los métodos DeleteControl y DeleteReportControl .

Ejemplo:

En el ejemplo siguiente se crea primero un nuevo formulario basado en una tabla Pedidos. Después utiliza el método CreateControl para crear un control de cuadro de texto y un control de etiqueta adjunta en el formulario.

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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.