Recherche
Recherche
Les mémos
Je débute...
Visites

 996491 visiteurs

 4 visiteurs en ligne

Les formulaires possèdent une propriété qui leur permet de rester à l'avant-plan (modale).

Si l'on souhaite modifier cette propriété, il faut ouvrir le formulaire en mode création, se rendre dans la fenêtre des propriétés, modifier la propriété "Fenêtre modale" et pour finir, sauver le formulaire.

Lorsqu'il s'agit de faire cela pour une série de formulaires, cela devient rapidement fastidieux... sauf si l'on utilise la fonction FormModal( ) ci-dessous!

Utilisation:

Cette fonction sera appellée par un bouton sur un formulaire (on ne pourra bien sûr pas accéder à ce formulaire) ou dans la fenêtre d'exécution directe que l'on appelle par les touches Ctrl + G

Exemples d'appels à la fonction:

FormModal True , "F_"

ce qui placera tous les formulaires dont le nom commence pas "F_" en modal.

FormModal False , "F_Clients"

ce qui supprimera la propriété modale de tous les formulaires dont le nom commence par "F_Clients"

Function FormModal(boModal As Boolean, sPartName As String)
    Dim obj As AccessObject, db As Object
    Dim sForm As String, sFormList As String

    Set db = Application.CurrentProject

    '/ Boucler sur tous les formulaires
    For Each obj In db.AllForms
        sForm = obj.Name
        If Left(sForm, Len(sPartName)) = sPartName Then
            sFormList = sFormList & sForm & vbCrLf
            DoCmd.OpenForm (sForm), acDesign, , , , acHidden
            Forms(sForm).Modal = boModal
            DoCmd.Close acForm, sForm, acSaveYes
        End If
    Next obj

    MsgBox "Liste des objets traités:" & vbCrLf & vbCrLf & sFormList

    '/ Libérer
    Set db = Nothing
End Function


Catégorie : Les mémos - Formulaires
Page lue 4395 fois