Die Gruppierung der Bedienelemente, die zusammen auf einem Access-Formular
Ich habe eine Access2003 Formular, wo ich wollte-Gruppe mehrere Steuerelemente zusammen und Sichtbarkeit ändern programmgesteuert, wenn VBA-code.
Ist das möglich? Ich weiß, dass ich kann, Elemente zu gruppieren, die durch Format -> Gruppe, aber wenn ich das mache, wie kann ich verweisen, die die gesamte Gruppe in meinen code?
Danke
InformationsquelleAutor zohair | 2009-11-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Platzieren Sie alle Steuerelemente in einer Gruppe Feld-Steuerelement ändern Sie dann die Sichtbarkeit der Gruppe Feld selbst.
Könnten Sie auch einen Wert in die tag-Eigenschaft jedes Steuerelement, das Sie gruppieren möchten, klicken Sie dann im VBA-Schleife durch die Kontrolle und die Prüfung für den Wert und die Sichtbarkeit gibt.
Die tag-Eigenschaft alle Steuerelemente, die Sie gruppieren möchten, um so etwas wie groupABC oder was auch immer Sie wünschen.
Dann irgendwo in Ihrem code verwenden Sie diese, um eine Schleife durch die Formular-Steuerelemente, und überprüfen Sie es.
Ok, es ist sehr einfach.
Vielen Dank, es funktioniert perfekt!
Ich würde vorschlagen, mit einer benutzerdefinierten Sammlung für diese, wie Sie ist deutlich schneller als zu Fuß die ganze Steuert Gewinnung und Testung jeder Kontrolle .Tag-Eigenschaft.
"Platzieren Sie alle Steuerelemente in einer Gruppe box control" Zugriff nicht über ein group-Feld-Steuerelement.
InformationsquelleAutor Joel Gauvreau
Nochmal mein Kommentar zur Verwendung von benutzerdefinierten Sammlungen, Sie würden etwas tun, wie dieses in Ihrem Formular-Modul:
Um die Steuerelemente auszublenden, Sie würde dies tun:
Sein und Ihnen zu zeigen:
Das ist ziemlich einfach, nicht?
Dies ist die Art von code, den ich benutze in meinen apps die ganze Zeit, und ich habe es schon seit dem ersten mal habe ich es umgesetzt, vor etwa 10 Jahren, und bemerkte, dass es war deutlich spürbar schneller zum einblenden/ausblenden der Steuerelemente mit der custom collection ist als der zu Fuß die ganze Controls-Auflistung.
Die einzige Einschränkung ist, dass wenn eines der Steuerelemente den Fokus hat, es wird ein Fehler ausgegeben, wenn Sie versuchen, es zu verbergen. Das ist leicht genug angesprochen, da Sie wenn Sie verbergen eine Gruppe von Steuerelementen, die Sie sicherlich haben, einen geeigneten Ort, um den Fokus setzen, bevor Sie das tun.
Ich mag die Eleganz der Verwendung des gleichen Ansatzes, egal was. Das ist nicht zu sagen, dass ich nie gehen die Controls-Auflistung-es hängt ganz von, ob oder nicht, ich mache es einmal pro Formular-Instanz, oder wiederholt (z.B. in der OnCurrent-Ereignis). Wenn letzteres, dann der benutzerdefinierten collection-Ansatz überlegen ist, auch auf Formen mit einer geringen Anzahl von Kontrollen, nicht wegen der Geschwindigkeit-Problem, aber weil es einfach ein besserer Ansatz. Natürlich, ich würde nicht empfehlen, geht über Bord!
InformationsquelleAutor David-W-Fenton
Ich gerne die tag-Eigenschaft vorgeschlagen von Joel Gauvreau. Andere Möglichkeiten sind ein Registerkarten-Steuerelement und /oder Unterformulare.
InformationsquelleAutor Fionnuala