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 :

Suppression de controles incompléte [AC-2003]


Sujet :

IHM

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut Suppression de controles incompléte
    Bonjour,
    J'ai un état dans lequel j'ai dynamiquement créé des controles (zone de texte et combobox) dont le nombre est fonction du nombre de champs d'une table.

    Pour adapter le form à la table, je dois d'abord effacer tous ces contrôles avant de recréer ceux qui vont bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each ctl In Forms!maform.Controls
            DeleteControl "maform", ctl.Name
    Next ctl
    Or ce code, a priori classique, n'efface que 1 contrôle sur 2, dans l'ordre de tabulation.
    J'ai ajouté un 'doevents' avant le 'next' sans succès.
    Bizarre.
    Si vous avez une idée de l'origine de ce phénomène ....
    Merci
    Amitiés

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

    Il m'est déjà arrivé d'avoir à supprimer des composants, hors comme toi j'ai déjà eut des soucis de ce genre.

    A l'époque, pour pallier ce problème j'ai dut inclure le code de suppression dans une boucle de type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i=1 to Me.Controls.Count
     ' code de suppression
    Next i
    Avec pour boucle le nombre de contrôle, et là tout est supprimé.

    Il y a peut-être une meilleur solution, mais à l'époque c'était la seule que j'ai trouvé.

    Philippe

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 681
    Points : 214
    Points
    214
    Par défaut
    Merci pour ta réponse.
    J'ai trouvé d'où venait mon bug
    Controls.Count diminue d'une unité après chaque effacement d'un controle et on repart avec une nouvelle numérotation des contrôles et le premier est toujours "Controls(0)", d'où le code qui fonctionne , étant entendu que la commande émane d'un autre formulaire que celui dans lequel on souhaite éffacer les contrôles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do While Forms!MaForme.Controls.Count > 0
      DeleteControl "MaForm", Forms!MaForm.Controls(0).Name
    Loop
    Il y a probablement plus simple.
    Terminé pour moi.
    Amicalement.

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

Discussions similaires

  1. Suppression de controle
    Par skaraa dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/12/2007, 15h39
  2. Réponses: 1
    Dernier message: 03/04/2007, 21h27
  3. [VBA]suppression de controle ne marche pas
    Par celiaaa dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/04/2007, 15h05
  4. [Oracle 10g] Controle de suppression
    Par maximus001ma dans le forum Oracle
    Réponses: 6
    Dernier message: 29/08/2006, 19h33
  5. [MySQL] Suppression avec contrôle de lien inter-tables
    Par lodan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/07/2006, 17h35

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