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 confirmé
    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
    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 120
    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 120
    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,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre confirmé
    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
    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