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 :

Ajout de controls dans sous formulaire via VB


Sujet :

IHM

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut Ajout de controls dans sous formulaire via VB
    J'essaie de créer dynamiquement des controls (de type label ou etiquette) dans un sous formulaire. J'avais essayé directement dans un formulaire et cela marchait (si mes souvenirs sont bons), mais j'ai l'impression que de faire cela dans un sous formulaire complique les choses.

    J'ai regarder des sujets similaires, mais... je n'arrive toujours pas à résoudre mon problème.

    En gros, dans mon formulaire "F_PLANNING" j'ai un sous formulaire "F_PLANNING_Semaine". Quand j'appuis sur un bouton, je veux actualiser mes données (mes controls en fait...) en appelant une fonction qui contient globalement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ...
    DoCmd.OpenForm "F_PLANNING_Semaine", acDesign, , , , acHidden
    ' effacement des anciens controles ....
    Dim controls(1 To 100) As Control
    Set controls(I) = CreateControl("F_PLANNING_Semaine", acLabel)
    controls(I).Caption = maValeur
    DoCmd.Save acForm, "F_PLANNING_Semaine"
    ...
    cela ajoute bien les controls dans mon sous formulaire, mais cela ferme le formulaire principal... et quelquefois (g pas encore compris quand), cela me dit à la réouverture de mon formulaire principal que le sous formulaire est encore en mode création...

    j'ai essayé de faire un truc à la fin de ma fonction, du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "F_PLANNING", acNormal
    mais cela n'affiche pas le sous formulaire...

    avez vous des suggestions ?
    merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 214
    Points : 208
    Points
    208
    Par défaut
    Salut,
    j'espère pouvoir t'aider.
    Je fais ça dans une appli :

    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
     
    Dim frm As Form
    Me.SousFormulaire.SourceObject = ""
    Me.SousFormulaire.SourceObject = "SousFormulairedAttente"
    Me.Repaint
    Application.Echo False
    DoCmd.OpenForm "SousFormulaireDynamique", acDesign
    Set frm = Forms("NomDuSousFormulaire")
    'Instructions de création des contrôles et affectation à frm
     
    'on ferme le formulaire en mode design
    DoCmd.Close acForm, frm.Name, acSaveYes
    'et on affecte ce formulaire au sous formulaire du form principal
    Me.SousFormulaire.SourceObject = "NomDuSousFormulaire"
    Application.Echo True
    Me est le formulaire principal bien sûr.
    SousFormulaire est la zone de sous-formulaire de ton form principal.

    Je sais pas si c'est très clair, mais lorsque j'ouvre mon formulaire principal, mon sous-formulaire se crée dynamiquement puis s'affiche à la place voulue.

    Peut-être que ton problème vient seulement de la non affectation via SourceObject ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    merci ca marche

    en effet je ne changait pas le sourceObjet, je pensais pas qu'on en avait besoin. Avant je modifiait le sous formulaire en mode caché, et comme ca prend un peu de temps, on voyait plus de fenetre pendant un petit moment, alors qu'avec ta méthode, on peut mettre un message de chargement.

    (me reste encore un petit pb de hauteur max du formulaire... autre sujet)

    Merci
    presque

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2003
    Messages : 281
    Points : 209
    Points
    209
    Par défaut
    la méthode fonctionne, mais je trouve que c'est long... (entre 1 et 2 sec a chauque clic de bouton que l'on utilise beaucoup)

    est ce qu'il y a des choses spéciales à faire pour accéler cela ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2014, 07h56
  2. [AC-2002] Ligne d'ajout d'enregistrements dans Sous-Formulaire
    Par bisk32 dans le forum IHM
    Réponses: 3
    Dernier message: 24/05/2011, 19h41
  3. [AC-2003] Ajout de controles dans un Formulaire "Tabulaire"
    Par jax54000 dans le forum IHM
    Réponses: 16
    Dernier message: 27/03/2010, 20h45
  4. [Requete] Utiliser un controle de sous formulaire dans SQL
    Par gwendk dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 09/05/2006, 16h53
  5. ajouter des control dans une onglet de sstab sous VB6
    Par aymane_farissi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/09/2005, 13h44

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