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 :

Demande d'explications pour redimensionnement sous-formulaire


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Points : 69
    Points
    69
    Par défaut Demande d'explications pour redimensionnement sous-formulaire
    Bonjour à tous,

    J'ai consulté la FAQ Access à propos du redimensionnement d'un sous-formulaire et j'ai trouvé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_Current()
        Me.TonSousForm.Form.InsideHeight = Me.TonSousForm.Form.Section(acHeader).Height _
                                         + Me.TonSousForm.Form.Section(acFooter).Height _
                                         + Me.TonSousForm.Form.Section(acDetail).Height _
                                         * (Me.TonSousForm.Form.RecordsetClone.RecordCount _
                                         -  Me.TonSousForm.Form.AllowAdditions)
        Me.TonSousForm.Height = Me.TonSousForm.Form.WindowHeight
    End Sub
    Après l'avoir adapté à mon code, cela fonctionne très bien. Pourtant, j'ai du mal à comprendre comment cela fonctionne. J'ai consulté l'aide sur les 3 propriétés InsideHeight, Height et WindowHeight mais cela ne m'a pas vraiment éclairée.

    Ce que j'ai du mal à comprendre, c'est que l'on calcule une valeur pour InsideHeight (hauteur de la fenêtre contenant un formulaire), mais que l'on ne s'en sert pas pour définir Height (hauteur d'un sous-formulaire) et que l'on utilise WindowHeight (hauteur d'un formulaire) à la place alors que l'on ne l'a pas valorisée.

    Quelqu'un pourrait-il m'expliquer clairement en français ce que fait exactement ce code afin que je comprenne à quoi sert exactement chaque propriété car je suis perdue là.

    Merci pour vos réponses.

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 551
    Points
    24 551
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Form_Current()
    A la lecture de l'enregistrement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Me.TonSousForm.Form.InsideHeight =
    La taille de la fenêtre contenant le sous-formulaire, donc la taille de l'objet contenant le sous-formulaire, est égal à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Me.TonSousForm.Form.Section(acHeader).Height _
     + Me.TonSousForm.Form.Section(acFooter).Height
    la hauteur de l'entête (du sous formulaire)+ la hauteur du pied

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    + (Me.TonSousForm.Form.Section(acDetail).Height *
    (Me.TonSousForm.Form.RecordsetClone.RecordCount                                  -  Me.TonSousForm.Form.AllowAdditions))
    + la hauteur d'une ligne du détail * par (le nombre d'enregistrement - la ligne nouvel enregistrement)

    Pour la ligne Nouvel enregistrement l'auteur du code utilise une actuce de programmation qui permet de déterminer si celle-ci sera présente ou pas.
    0 la ligne n'y est pas (AllowAdditions = faux = 0)
    -1 la ligne y est (AllowAdditions = vrai = -1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       Me.TonSousForm.Height = Me.TonSousForm.Form.WindowHeight
    La hauteur du controle contenant le sousform est égal à la hauteur de la fenêtre du sous-formulaire.

    Cordialement,

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Points : 69
    Points
    69
    Par défaut
    Merci Loufab.

    Mais alors pourquoi utilise-t-on InsideHeight d'un côté et WindowHeight de l'autre ?
    Pourquoi WindowHeight prend la valeur de InsideHeight sans affectation préalable ?

Discussions similaires

  1. demande d'explication pour long et float
    Par m3am3a dans le forum Général Java
    Réponses: 1
    Dernier message: 09/11/2008, 23h48
  2. demande d'explication pour commencer
    Par modjo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 30/09/2008, 20h05
  3. [QST] Demande d'aide pour libmysql sous borland.
    Par dimland dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/01/2008, 23h36
  4. Réponses: 6
    Dernier message: 10/08/2007, 16h23
  5. faire une macro pour un sous formulaire
    Par db48752b dans le forum Access
    Réponses: 2
    Dernier message: 18/09/2006, 23h14

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