Comme le suggère le titre de ma question, comment est-il possible de parcourir tous les contrôles d'un formulaire, y compris les sous-formulaires.Comment boucler tous les contrôles dans un formulaire, y compris les contrôles dans un sous-formulaire - Access 2007
Par exemple, j'utilise la routine ci-dessous sous pour définir la couleur d'arrière-plan des contrôles avec l'étiquette *
Public Sub colCtrlReq(frm As Form)
' Sets background color for required field -> Tag = *
Dim setColour As String
setColour = RGB(255, 244, 164)
Dim ctl As Control
For Each ctl In frm.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acListBox Then
If InStr(1, ctl.Tag, "*") <> 0 Then
ctl.BackColor = setColour
End If
End If
Next ctl
Set ctl = Nothing
End Sub
Comment pourrait modifier ce pour attraper les contrôles dans un sous-formulaire? Merci d'avance pour toute aide ou pointeurs.
Vive Noel
D'autres ont répondu à notre question, mais vous devriez vraiment changer ceci: "Pour chaque ctl Dans FRM" - à "Pour chaque ctl En frm.Controls". La collection par défaut d'un formulaire est en fait une union de la collection Controls and Fields, ce que vous avez écrit pourrait donner des résultats inattendus. –
Salut David merci pour le conseil, ont corrigé le code ci-dessus. – noelmcg
Re comment ** "Pour chaque ctl en frm" ** - Je ne pouvais pas reproduire ce problème avec Access 2010. – Fionnuala