Partager via


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.