Vérifier l'existence d'un contrôle dans un formulaire


Le code qui suit permet de tester l'existance d'un contrôle dans un formulaire

L'argument "strControl" correspond au nom du contrôle dont on veut contrôler l'existence dans un formulaire.

Ce premier code effectue un contrôle sur le formulaire qui est actif à l'écran

Function ControlExistForm(strControl As String) As Boolean

'Vérifie l'existant d'un control sur le formulaire actif
On Error GoTo ErrControlExist
Dim frm As Form
Dim ctl As Control
Set frm = Screen.ActiveForm
For Each ctl In frm.Controls
    If ctl.Name = strControl Then
        ControlExistForm = True
        Exit For
    End If
Next
Exit Function
ErrControlExist:
    MsgBox Err.Number & vbCrLf & vbCrLf & Err.Description, vbCritical

End Function

Ce deuxième code permet de spécifier un nom de formulaire grâce à l'argument "strForm"

Function ControlExist(strForm As String, strControl As String) As Boolean

'Vérifie l'existant d'un control sur un formulaire
On Error GoTo ErrControlExist
Dim frm As Form
Dim ctl As Control
DoCmd.Echo False
DoCmd.OpenForm strForm, acDesign
Set frm = Forms(strForm)
For Each ctl In frm.Controls
    If ctl.Name = strControl Then
        ControlExist = True
        Exit For
    End If
Next
DoCmd.Close acForm, strForm, acSaveNo
DoCmd.Echo True
Exit Function
ErrControlExist:
    DoCmd.Close acForm, strForm, acSaveNo
    DoCmd.Echo True
    MsgBox Err.Number & vbCrLf & vbCrLf & Err.Description, vbCritical

End Function

Dans les 2 codes si le contrôle existe, la fonction retournera True

 

Retour haut de page

Auteur : Jessy SEMPERE