Propiedad SubForm.ControlType (Access)

Use la propiedad ControlType en Visual Basic para determinar el tipo de control en un formulario o informe. Byte de lectura y escritura.

Sintaxis

expresión. Controltype

Expresión Variable que representa un objeto SubForm .

Comentarios

El valor de la propiedad ControlType es una constante intrínseca que especifica el tipo de control. Para obtener una lista completa de los controles creados por los métodos CreateControl y CreateReportControl , vea la enumeración AcControlType .

[!NOTA] La propiedad ControlType sólo se puede establecer mediante el uso de Visual Basic en la vista Diseño del formulario o la vista Diseño del informe, pero se puede leer en todas las vistas.

La propiedad ControlType es solamente útil para comprobar un tipo de control de código, sino también para cambiar el tipo de control a otro tipo. Por ejemplo, puede cambiar un cuadro de texto a un cuadro combinado estableciendo la propiedad ControlType del cuadro de texto a acComboBox se encuentra en la vista Diseño del formulario.

Utilice la propiedad ControlType para cambiar las características de controles similares en un formulario según ciertas condiciones. Por ejemplo, si no desea que los usuarios editen los datos existentes en los cuadros de texto, puede establecer la propiedad SpecialEffect de todos los cuadros de texto en Sin relieve y la propiedad AllowEdits en no. (la propiedad SpecialEffect no afecta a si se pueden editar datos; se utiliza aquí para proporcionar una indicación visual que ha cambiado el comportamiento del control).

La propiedad ControlType también se usa para especificar el tipo de control que se va a crear cuando se usa el método CreateControl .

Ejemplo:

En el siguiente ejemplo se examina la propiedad ControlType para todos los controles de un formulario. Para cada control de cuadro de texto y etiqueta, el procedimiento alterna la propiedad SpecialEffect para esos controles.

Cuando la propiedad SpecialEffect del control de etiqueta se establece en Shadowed y la propiedad SpecialEffect del control de cuadro de texto se establece en Normal y las propiedades AllowAdditions, AllowDeletions y AllowEdits se establecen en True, la intCanEdit variable se alterna para permitir la edición de los datos subyacentes.

Sub ToggleControl(frm As Form) 
 Dim ctl As Control 
 Dim intI As Integer, intCanEdit As Integer 
 Const conTransparent = 0 
 Const conWhite = 16777215 
 For Each ctl in frm.Controls 
 With ctl 
 Select Case .ControlType 
 Case acLabel 
 If .SpecialEffect = acEffectShadow Then 
 .SpecialEffect = acEffectNormal 
 .BorderStyle = conTransparent 
 intCanEdit = True 
 Else 
 .SpecialEffect = acEffectShadow 
 intCanEdit = False 
 End If 
 Case acTextBox 
 If .SpecialEffect = acEffectNormal Then 
 .SpecialEffect = acEffectSunken 
 .BackColor = conWhite 
 Else 
 .SpecialEffect = acEffectNormal 
 .BackColor = frm.Detail.BackColor 
 End If 
 End Select 
 End With 
 Next ctl 
 If intCanEdit = IFalse Then 
 With frm 
 .AllowAdditions = False 
 .AllowDeletions = False 
 .AllowEdits = False 
 End With 
 Else 
 With frm 
 .AllowAdditions = True 
 .AllowDeletions = True 
 .AllowEdits = True 
 End With 
 End If 
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.