IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Faire qu'un sous formulaire non visible ne prenne pas de place dans son formulaire [AC-2013]


Sujet :

IHM

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut Faire qu'un sous formulaire non visible ne prenne pas de place dans son formulaire
    Bonjour,
    J'ai plusieurs sous formulaires intégrés dans un formulaire.
    Chacun donne un petit tableau, l'un en dessous de l'autre
    J'ai dans un module standard une fonction qui rend les sous formulaires vides non visibles:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function fCacheSFVideF(pform As Form)
    Dim oCtl As Control
    ' Pour rendre invisible les sous-formulaire n'ayant pas de données
    For Each oCtl In pform
        If oCtl.ControlType = 112 Then ' 112 = type de contrôle sous-formulaire
            If oCtl.Form.Recordset.RecordCount = 0 Then
                oCtl.Form.Visible = False
            Else
                oCtl.Form.Visible = True
            End If
        End If
    Next oCtl
     
    End Function
    Est il possible qu'une fois invisible ils ne prennent plus aucune place dans le formulaire?
    Comme j'ai plusieurs sous formulaire l'un en dessous de l'autre, cela laisse de l'espace "vide" entre ceux qui sont remplis et ceux qui sont invisibles..

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Par défaut


    Hélas, pas à ma connaissance. Il me semble t'avoir donné une astuce pour contourner cette difficulté dans discussion : Affichage d'un sous formulaire basé sur une requête seulement s'il n'est pas vide : Post #6
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut
    Citation Envoyé par Jeannot45 Voir le message


    Hélas, pas à ma connaissance. Il me semble t'avoir donné une astuce pour contourner cette difficulté dans discussion : Affichage d'un sous formulaire basé sur une requête seulement s'il n'est pas vide : Post #6
    Merci pour ton intérêt.
    Effectivement j'ai bien noté ta réponse donnée dans l'autre post.
    J'essaie différentes solutions

  4. #4
    Membre émérite Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 980
    Par défaut Faire qu'un sous formulaire non visible ne prenne pas de place dans son formulaire
    Bonjour!

    En création tu mets leur hauteur à 0 et tu les superposes et tu les définis invisibles.

    Ensuite à l'ouverture du formulaire principal, tu testes le nombre d'enregistrements de chaque sous formulaire dans une boucle de "1 à ton nombre de sous-formulaires non-vides" puis :
    1/ tu rends visible le formulaire courant dans la boucle (test / nbre enregs)
    2/ tu lui affectes une hauteur qui te va (mettons 4 cm, en twips)
    3/ tu affectes à la propriété Top du suivant la propriété Top du ss-form courant + la propriété Height du ss-form courant mettons 4cm (en twips) + 1 petite marge mettons 0.5 cm (en twips)

    ... Et ainsi de suite tant qu'il y a des sous-formulaires à afficher (avec des enregistrements, donc).

  5. #5
    Membre éclairé
    Avatar de vavavoum74
    Homme Profil pro
    Responsable magasin
    Inscrit en
    Mars 2018
    Messages
    356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : Mars 2018
    Messages : 356
    Par défaut
    Merci de ton intérêt

    Mettre la hauteur à 0 en création et les superposer en le définissant invisibles, je pense pouvoir faire

    Par contre, pour le reste, étant débutant en VBA, pourrais tu me donner un exemple de code?

    Merci d'avance

  6. #6
    Membre émérite Avatar de Ric500
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 980
    Par défaut Faire qu'un sous formulaire non visible ne prenne pas de place dans son formulaire
    Bonjour!

    Juste une question ton formulaire principal est-il indépendant?

    Je t'envoie un bout de code qui prend cette hypothèse pour vraie. Mais çà n'est qu'un détail car çà peut aussi marcher dans le cas contraire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Evènement d'un sous-composant non visible
    Par guillemouze dans le forum Composants VCL
    Réponses: 2
    Dernier message: 03/04/2013, 11h47
  2. Sous domaine non visible de l'exterieur
    Par nicolasfo dans le forum Réseau
    Réponses: 4
    Dernier message: 27/04/2010, 14h02
  3. Réponses: 1
    Dernier message: 08/04/2008, 10h35
  4. Réponses: 3
    Dernier message: 22/03/2007, 21h23
  5. Réponses: 5
    Dernier message: 30/09/2005, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo