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 :

Ajustement auto sous-formulaire [AC-2003]


Sujet :

IHM

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut Ajustement auto sous-formulaire
    Bonjour,
    Je me dirige vers vous pour un problème auquel je n'y comprends absolument rien.

    Pour résumé, j'ai un formulaire qui recense des acteurs. Ce formulaire comprend un sous-formulaire qui affiche les films dans lesquels ont joué les acteurs et les personnages qu'ils ont incarnés.
    J'ai trouvé dans la FAQ, un algo très compréhensible pour adapter la taille du sous-formulaire en fonction du nombre d'enregistrements. Ca ne fonctionnait pas alors j'ai fait des tests (ça fait plus de 2h que je penche sur le problème...). Voilà où j'en suis :

    -Quand je mets ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_Current()
    Dim Cpt As String
    Cpt = Me.SF_Acteurs.Form.RecordsetClone.RecordCount
    MsgBox (Cpt)
    End Sub
    La msgbox m'affiche bien 6 (j'ai mis un acteur avec 6 rôles ds 6 films différents).

    Mais quand je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Current()
    Dim Cpt As String
    Cpt = Me.SF_Acteurs.Form.RecordsetClone.RecordCount
    MsgBox (Cpt)
    Me.SF_Acteurs.Form.InsideHeight = Me.SF_Acteurs.Form.Section(acDetail).Height * Cpt
    End Sub
    La msgbox m'affiche 1 !!!! Alors que je rajoute qu'une ligne de code et que je ne touche pas à la variable....C'est à n'y rien comprendre...

    Merci d'avance à celui qui aura une piste
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    N'ayant pas trouvé la solution, J'ai contourné le problème par la fonction Dcount(). Mais si quelqu'un comprend ce qui se passe, ça m'intéresse

    PS : pour ceux qui cherchent voici la procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub TailleSF(SF As Object, NbRecord As Integer, NbMaxLignes As Integer)
    Dim frmSousForm As Form
        Set objSousForm = SF
        Set frmSousForm = objSousForm.Form
        If NbRecord <= NbMaxLignes Then
            frmSousForm.InsideHeight = frmSousForm.Section(acDetail).Height * NbRecord
            objSousForm.Height = frmSousForm.WindowHeight
            frmSousForm.ScrollBars = 0  'aucune barre de défilement
        Else
            frmSousForm.InsideHeight = frmSousForm.Section(acDetail).Height * NbMaxLignes
            objSousForm.Height = frmSousForm.WindowHeight
            frmSousForm.ScrollBars = 2  'barre de défilement verticale
        End If
        Set objSousForm = Nothing
        Set frmSousForm = Nothing
     
    End Sub
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

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

Discussions similaires

  1. Comment faire l'auto-resize d'un sous formulaire
    Par malingue dans le forum Access
    Réponses: 17
    Dernier message: 30/03/2019, 13h16
  2. [Débutant] Remplissage auto. d'un sous-formulaire.
    Par Cyphen dans le forum Access
    Réponses: 11
    Dernier message: 20/06/2008, 15h07
  3. affichage auto d'un champs dans sous formulaire
    Par TCPARIS dans le forum IHM
    Réponses: 2
    Dernier message: 16/09/2007, 22h32
  4. MAJ auto sous-formulaire
    Par Ne0zenith dans le forum IHM
    Réponses: 4
    Dernier message: 06/06/2007, 11h27
  5. Réponses: 41
    Dernier message: 24/05/2007, 13h27

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