Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Mehrfachauswahl Sortierung

Begonnen von Ben.Wisch, August 01, 2011, 16:44:45

⏪ vorheriges - nächstes ⏩

Ben.Wisch

Hallo Zusammen,

ich habe da mal eine kleine, aber folgenschwere Frage.
Kann ich, wenn ich eine sehr große Tabelle habe und diese in einem Endlosformular anzeige, diese
nach beliebigen Felder per Eingabe sortieren lassen? Und wenn ja, wie geht das?
z.B.

Tabellen Felder      A   B   C   D   E    F
Sortierauswahl  1   B   E   F
Sortierauswahl  2   D   A  B


Ich bedanke mich schon mal im voraus.

B E N

DF6GL

Hallo,

so ganz genau versteh ich die Frage nicht und interpretiere das so:


Wenn Du aus einer Anzahl Feldern eines Datensatzes (bzw. aus der zugrundeliegenden Tabelle/abfrage) nur bestimmte Felder anzeigen willst (natürlich dann akt. bei jedem Datensatz im Endlosform, nicht für jeden Datensatz unterschiedlich), dann könntest Du einem "Satz" von Textfeldern die jeweiligen, durch irgendeine Auswahl bestimmten Tabellenfeldnamen an deren Eigenschaft "Steuerelementinhalt" zuweisen.


Alternativ möglich wäre auch die Ein-/Ausblendung der akt. betroffenen Textfelder, wobei man sich hier die Änderungen/Zuweisungen der Steuerelement-Eigenschaft sparen könnte.





Ben.Wisch

Grüße an den Bodensee,

vielleicht habe ich mich zu Kompliziert ausgedrückt. Ich habe eine riesengroße Tabelle, die ich gerne kontrollieren möchte. Ich suche nun eine kompfortable Lösung, dieses über Menu oder Eingabehilfe zu steuern. Ich möchte diese Tabelle gerne nach verschiedenen Spalten jeweils sortieren (frei wählbar). Ich habe mir zwar eine Abfrage auf diese Tabelle gemacht, aber ich müßte nun immer wieder diese Abfrage neu bearbeiten. Das wollte ich eigentlich damit verhindern.

Grüße aus dem Ruhrgebiet

B E N

database

Hallo,

ZitatFelder per Eingabe sortieren

Sortieren kannst du bestenfalls auf- oder absteigend ... einzugeben ist da nix. ;)

Demnach könnte ein Statement dazu so aussehen:

SELECT * FROM Tabelle WHERE Einschränkung ORDER BY FeldB ASC, FeldE ASC, FeldF DESC

und das zweite Statement analog ...

SELECT * FROM Tabelle WHERE Einschränkung ORDER BY FeldA ASC, FeldB ASC, FeldD DESC

....wobei ASC für aufsteigende und DESC für absteigende Sortierung steht.

siehe auch:
http://office.microsoft.com/de-de/access-help/order-by-klausel-HA001231493.aspx

Um festzulegen nach welchen Feldern zu sortieren ist, könntest du eine Reihe von fertigen Statements hinterlegen und einer ev. bestehenden Abfrage je nach Auswahl - möglich über Checkboxen zu regeln - zur Laufzeit zuweisen.

Du verpackst ein fertiges Statement in eine Variable ...


Dim strSQL as String
     strSQL = "SELECT * FROM Tabelle WHERE Einschränkung ORDER BY FeldA ASC, FeldB ASC, FeldD DESC ;"


...und weist diesem dann einer bestehenden Abfrage zu ...

Currentdb.QueryDefs("DeineAbfrage").SQL = strSQL

Wenn du die Felder für die Sortierung nicht fest vorgeben willst, KÖNNTEST du das per Checkboxen realisieren.
Hierbei muss dann per VBA der Zustand der Checkboxen ermittelt und das SQL-Statement zur Laufzeit dynamisch zusammengestellt werden.
Eine Zuweisung des so generierten SQL-Statements KÖNNTE dann ebenfalls wie oben erfolgen.

HTH

Ben.Wisch

 :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)

Vielen Dank. ich habe mir schon so etwas gedacht.
Ist halt eben mit Goldrand ;-))

B E N