![]() |
||
![]() |
Listenfelder in Access per Mausklick sortierenIn der Ausgabe 9/97 behandelte WIN das Problem von Herrn Ollig. Er wollte Listenfelder in Access-Formularen per Mausklick auf die Spaltenⁿberschrift sortieren. Der Rat war, Abfragen mit unterschiedlicher Sortierung anzulegen und SchaltflΣchen als Spaltenⁿberschriften zu verwenden. Das Anklicken einer SchaltflΣche ordnet dem Listenfeld dann die entsprechend sortierte Abfrage als Datenherkunft zu, um die Liste so zu sortieren. WIN-Leserin Gisela Zachmeier schlΣgt dafⁿr nun eine andere L÷sung vor. Die setzt zwar einige SQL-Kenntnisse voraus, fΣllt dafⁿr aber auch eleganter aus. Der Ausl÷ser fⁿr diesen neuen Weg ist die unⁿbersichtliche Vielzahl an Abfragen bei vielen Access-Anwendungen. Wer in gr÷▀eren Datenbanken jede Abfrage mehrfach mit unterschiedlichen Sortierungen speichert, verliert im Register Abfragen des Datenbankfensters schnell den Durchblick. Frau Zachmeier schlΣgt daher vor, nicht den Namen einer Abfrage als Datenquelle anzugeben, sondern gleich die entsprechenden SQL-Befehle als RowSource-Eigenschaft zu ⁿbergeben. Das Click-Ereignis der SchaltflΣche und Spaltenⁿberschrift Name sieht dann so aus: Me!lstArtikel.RowSource = äSELECT [Artikel-Nr], Artikelname, Einzelpreis FROM Artikel ORDER BY Artikelnameô╢Im Click-Ereignis der SchaltflΣche Preis Σndert sich dagegen lediglich die Order By-Klausel des SQL-Befehls: Me!lstArtikel.RowSource = äSELECT [Artikel-Nr], Artikelname, Einzelpreis FROM Artikel ORDER BY Einzelpreisô╢Wer sich noch nicht so gut mit SQL auskennt, kann die Abfragen zuerst mit dem Designer anlegen. Hinter jeder Abfrage steckt nΣmlich auch nur ein SQL-Befehl, den Sie mit dem Befehl Ansicht û SQL bearbeiten k÷nnen. Aus dieser SQL-Ansicht k÷nnen Sie das SQL-Kommando ⁿber die Zwischenablage in Ihr VBA-Programm kopieren. Achten Sie dabei jedoch darauf, alle Semikola und Zeilenumbrⁿche zu entfernen. |
![]() |