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 :

Créer/Supprimer dynamiquement des contrôles dans un état


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Points : 16
    Points
    16
    Par défaut Créer/Supprimer dynamiquement des contrôles dans un état
    Bonjour,
    Voilà mon Pb:
    J'ai un état dont la requête sous-jacente a des champs de noms variables (c'est une requête "analyse croisée").
    Je ne connais donc pas par avance le nom des champs que je vais devoir afficher, ni leur nombre.
    Alors, je voudrais pouvoir ajouter (ou supprimer) des contrôles à mon état de manière dynamique (à l'ouverture de l'état par exemple) selon ce que je vais devoir afficher.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    La réponse est surement ici :
    http://access.developpez.com/sources...RequeteCroisee

    cordialement,

    philippe

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Merci Philippe pour cette réponse rapide,

    J'avais déjà envisagé une solution de ce genre qui consiste à créer d'emblée un NbMax de contrôles puis à les positionner, les afficher, les paramétrer en fonction des besoins.
    Je crois que je vais me rabattre vers cette solution.

    Mais quand le nombre de champs n'est pas borné...?
    De plus la question de base reste en suspend : peut-on créer/supprimer dynamiquement des contrôles dans un état?

    Cordialement,
    JMV.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    Mais quand le nombre de champs n'est pas borné...?
    De mémoire, il est borné à un maximum de 255 champs par la requete.

    peut-on créer/supprimer dynamiquement des contrôles dans un état?
    C'est possible, il faut l'ouvrir en mode design, faire ses modifs dessus, le sauvegarder puis l'afficher.
    Une solution consiste dans votre cas à créer un état <Template>, le modifier selon les résultats de la requete d'analyse croisée (analyse via DAO) et création/suppression de colonnes, nommage des colonnes, ajustement des largeurs en mode design, le sauvegarder sous un autre nom puis l'afficher.

    Il existe peut être d'autres solutions...

    cordialement,

    Philippe

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pour supprimer, ou créer des contrôles dans une état, il faut utiliser DeleteReportControl et CreateReportControl, et tout cela par programmation et non manuellement.

    Lis bien l'aide, car cela doit se faire en mode création.

    Starec

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Bonjour Philippe, Starec

    J'ai finalement résolu le PB de créer /supprimer des contrôles d'un Etat.
    Pas de Templates.
    Pas de procédure événementielle.
    Avec les méthodes DeleteReportControl et CreateReportControl.

    Le plus difficile a été de comprendre ce qui se passait dans la boucle
    "For Each C in MonJoliRapport.Controls...." où DeleteReportControl ne supprimait qu'un contrôle sur deux.

    Ma solution:
    1°) Stocker dans un tableau de chaines le nom des contrôles à supprimer.
    2°) Supprimer les contrôles en les appelant par leur nom

    Merci de votre aide,
    JMV.

  7. #7
    Futur Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Salut je rencontre le même probleme que toi il y a quelques années. Pourrais tu m'expliquer un peu plus sur ta solution si c'est possible :

    1°) Stocker dans un tableau de chaines le nom des contrôles à supprimer.
    2°) Supprimer les contrôles en les appelant par leur nom

    Merci d'avance

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

Discussions similaires

  1. [XL-2003] Dupliquer dynamiquement des contrôles dans un userform
    Par thilamb dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/08/2012, 17h02
  2. [AC-2007] masquer sous condition des contrôles dans un état
    Par guzzi_53 dans le forum IHM
    Réponses: 16
    Dernier message: 18/03/2012, 14h17
  3. Position des Contrôles dans un état à l'impression
    Par ylemasson dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/04/2010, 12h05
  4. taille dynamique des cases dans état
    Par exter666 dans le forum Access
    Réponses: 14
    Dernier message: 09/09/2005, 15h30
  5. Réponses: 2
    Dernier message: 13/10/2004, 15h32

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