![]() |
||
![]() |
In Access Listenfelder sortierenIn vielen Windows-Anwendungen lassen sich Listen und Tabellen durch das Anklicken der Spaltenⁿberschrift sortieren. Diese M÷glichkeit bieten die Listenfelder von Access leider nicht. Ich verwende in meinen Formularen oft mehrspaltige Listenfelder und suche bislang vergeblich nach einer Eigenschaft oder Methode, um die Liste nach einer bestimmten Spalte zu sortieren. Wissen Sie, wie ich zum Beispiel eine Artikelliste zur Laufzeit wahlweise nach Artikelnummern, Namen oder Preisen sortieren kann? Eine Eigenschaft oder Methode gibt es dafⁿr leider nicht. Wie die Liste sortiert ist, hΣngt von der Datenquelle ab. Die Sortierung der Tabelle oder Abfrage, auf der das Steuerelement basiert, bestimmt auch die Sortierung der Liste. Hier deutet sich die L÷sung an: Verwenden Sie drei verschiedene Abfragen als Datenquelle fⁿr das Steuerelement, die sich lediglich durch die Sortierung unterscheiden. Durch die Zuordnung der entsprechend sortierten Abfrage wird dann auch das Listenfeld neu sortiert. Angenommen, da▀ Ihre Artikelliste die Felder Nummer, Name und Preis enthΣlt. Legen Sie dafⁿr drei Abfragen mit derselben Feldauswahl an. Sortieren Sie eine Abfrage nach Nummern, eine nach Namen und eine nach Preisen und speichern die Abfragen mit entsprechend deutlichen Namen wie Artikel nach Nummer, Artikel nach Name und Artikel nach Preis. Definieren Sie dann im Formular drei SchaltflΣchen als Spaltenⁿberschrift oberhalb des Listenfeldes, das hier den Namen lstArtikel trΣgt. Jede SchaltflΣche ordnet dem Listenfeld die entsprechend sortierte Abfrage als Datenquelle zu. Der Code fⁿr die SchaltflΣche Nummer sieht beispielsweise so aus: Me!lstArtikel.RowSource = äArtikel nach NummerôNach der Zuordnung der neuen Abfrage zeigt das Listenfeld dieselben Daten mit der neuen Sortierung an. Eine Umsetzung des Tips finden Sie in der Datei LISTSORT.MDB auf der WIN-Monats-CD und in den WIN-Online-Foren. |
![]() |