Le groupement des contrôles de l'ensemble sur un formulaire Access
J'ai un Access2003 formulaire où j'ai voulu regrouper plusieurs commandes en et modification de la visibilité par programmation, bien que le code VBA.
Est-ce possible? Je sais que je peux regrouper les éléments par Format -> Groupe, mais si je fais ça, comment puis-je consulter le groupe entier dans mon code?
Merci
OriginalL'auteur zohair | 2009-11-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez placer tous les contrôles dans un groupe de contrôle de zone, puis modifier la visibilité de la zone de groupe lui-même.
Vous pouvez également ajouter une valeur dans la propriété tag de chaque contrôle que vous voulez de groupe, puis en VBA boucle à travers le contrôle et la vérification de cette valeur et de modifier la visibilité.
Définissez la propriété tag de tous les contrôles que vous souhaitez groupe à quelque chose comme groupABC ou ce que vous voulez.
Puis, quelque part dans votre code utiliser cette boucle à travers les contrôles de formulaire et les vérifier.
Ok, c'est très simple.
Merci, ça fonctionne parfaitement!
Je voudrais suggérer à l'aide d'une collection personnalisée pour cela, car elle est nettement plus rapide que la marche de l'ensemble de la collection de Contrôles et d'essais de chaque contrôle .Propriété Tag.
"Vous pouvez placer tous les contrôles dans une zone de groupe" contrôle de l'Accès n'a pas un groupe de contrôle de zone.
OriginalL'auteur Joel Gauvreau
Pour des détails sur mes commentaires sur l'utilisation des collections personnalisées, vous feriez quelque chose comme ceci dans votre module du formulaire:
Pour masquer les commandes, vous devrez faire cela:
Et de leur montrer:
C'est assez simple, non?
C'est le genre de code que j'utilise dans mes applications de tous les temps, et je l'ai utilisé depuis la première fois que j'ai mis en œuvre, il ya 10 ans, et a remarqué que c'était beaucoup plus rapide pour afficher/masquer les contrôles avec la collection personnalisée que c'est avec la marche de l'ensemble de la collection de Contrôles.
Le seul inconvénient est que si l'un des contrôles a le focus, il générera une erreur si vous essayez de le cacher. C'est assez facilement traitée, puisque si vous êtes le masquage d'un groupe de contrôles, vous avez sûrement un endroit approprié pour mettre l'accent avant de le faire.
J'aime l'élégance de l'aide de la même approche, peu importe quoi. Cela ne veut pas dire que je n'ai jamais marcher sur la collection de Contrôles -- il dépend entièrement de si oui ou non je le fais une fois par l'instance de formulaire, ou à plusieurs reprises (par exemple, dans la Suractivation de l'événement). Si ce dernier, alors la collection personnalisée approche est supérieure, même sur des formes avec de petits nombres de contrôles, pas à cause de la question de vitesse, mais parce que c'est juste une meilleure approche. Bien sûr, je ne vous recommande pas d'aller à la mer!
OriginalL'auteur David-W-Fenton
J'aime la propriété tag proposé par Joel Gauvreau. D'autres possibilités incluent un contrôle onglet et /ou les sous-formulaires.
OriginalL'auteur Fionnuala