Propriété ObjectFrame.ControlType (Access)
Utilisez la propriété ControlType dans Visual Basic pour déterminer le type de contrôle d’un formulaire ou d’un état. Type de données Octet en lecture-écriture.
Syntaxe
expression. Controltype
Expression Variable qui représente un objet ObjectFrame .
Remarques
La valeur de la propriété ControlType est une constante intrinsèque qui spécifie le type de contrôle. Pour obtenir la liste complète des contrôles créés par les méthodes CreateControl et CreateReportControl , consultez l’énumération AcControlType .
[!REMARQUE] La propriété ControlType seulement peut être définie à l'aide de Visual Basic en mode Création de formulaire ou un état en mode Création, mais elle peut être lue dans tous les modes.
La propriété ControlType sert non seulement à vérifier un type de contrôle spécifique dans le code, mais aussi pour modifier le type de contrôle à un autre type. Par exemple, vous pouvez modifier une zone de texte à une zone de liste déroulante en affectant à la propriété ControlType de la zone de texte ControlType dans un formulaire.
Utilisez la propriété ControlType pour modifier les caractéristiques de contrôles similaires sur un formulaire en fonction de certaines conditions. Par exemple, si vous ne voulez pas que les utilisateurs de modifier les données existantes dans les zones de texte, vous pouvez définir la propriété SpecialEffect pour toutes les zones de texte à deux dimensions et la valeur de la propriété du formulaire AllowEdits sur non. (la propriété SpecialEffect n'affecte pas si les données peuvent être modifiées ; elle sert ici à fournir une indication visuelle que le comportement du contrôle a été modifié).
La propriété ControlType est également utilisée pour spécifier le type de contrôle à créer lorsque vous utilisez la méthode CreateControl.
Exemple
L'exemple suivant examine la propriété ControlType de tous les contrôles sur un formulaire. Pour chaque contrôle de zone de texte et d'étiquette, la procédure active et désactive la propriété SpecialEffect de ces contrôles.
Lorsque la propriété SpecialEffect du contrôle label est définie sur Shadowed et que la propriété SpecialEffect du contrôle de zone de texte est définie sur Normal et que les propriétés AllowAdditions, AllowDeletions et AllowEdits ont toutes la valeur True, la intCanEdit
variable est basculée pour permettre la modification des données sous-jacentes.
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
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.