Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Benutzerdefiniertes Sortieren in einem Form

Begonnen von ReginaR, Dezember 11, 2011, 11:37:39

⏪ vorheriges - nächstes ⏩

ReginaR

Hallo zusammen,

ich habe folgende Aufgabenstellung: Beim Öffnen eines Formulars soll ein bestimmter Datensatz an erster Position stehen, ale anderen Datensätze sollen dahinter angezeigt werden. Es geht also nicht darum, zu einem bestimmten Datensatz zu springen, sondern die Reihenfolge der Anzeige zu beeinflussen. Mit einer Sortierung bekomme ich das nicht hin, weil es sich nicht zwingend um die kleinste oder die größte ID handelt, die als erstes angezeigt wird. Der Benutzer soll in der Lage sein, den ersten Datensatz selbst zu bestimmen.

Gibt es so etwas wie eine benutzerfedinierte Sortierung? Oder hat jemand eine andere Idee?

Gruß
Regina

database

Hallo,

also die Reihenfolge der Datensätze zu ändern ... ja sicher, per Sortierung.
Nur das was du da möchtest geht m.E. nicht in DIESER Form.

Im Grunde ist es ja so, dass die Daten eines Formulars entweder aus einer Tabelle oder einer Abfrage stammen.
Die vorgegebene Sortierung einer Abfrage bestimmt dann die Reihenfolge der Datensätze.
Die Reihenfolge der Datensätze einer Tabelle bestimmt der Zeitpunkt des Eintragens - hier kann die Reihenfolge durch sortieren nach einem bestimmten Tabellenfeld ebenfall geändert werden.

ZitatMit einer Sortierung bekomme ich das nicht hin, weil es sich nicht zwingend um die kleinste oder die größte ID handelt
Die Sortierung beschränkt sich ja nicht unbedingt alleine auf die ID!
ZitatBeim Öffnen eines Formulars soll ein bestimmter Datensatz an erster Position stehen

Wenn beim Öffnen eines Formulars ein bestimmter Datensatz angezeigt werden soll dan stellt das für mich genau daas dar:
Zu einem bestimmten Datensatz springen

Du kannst nicht den Datensatz 75 an die erste Stelle einer Liste bringen und den Rest dahinter

Du brauchst also ein veränderbares 'Kennzeichen', welches als Sortierkriterium deiner Datenherkunft dienen KANN.

ZitatDer Benutzer soll in der Lage sein, den ersten Datensatz ...
Und wie soll das ablaufen? Wenn er den ersten Datensatz selbst bestimmt muss er ja wissen welche es gibt - was soll denn das werden?

Heiko03

Hallo,

danke für Deine Antwort. Das mit dem veränderbaren Kennzeichen habe ich mir auch schon überlegt und werde wohl diesen Weg gehen. Hintergrund ist, dass für verschiedene Länder Daten eingegeben werden. Wunsch des Anwenders war es es nun, zu einem bestimmten Land die Daten zu sehen und bearbeiten zu können, um dann in einem Endlosformular nach unten scrollen zu können, um zu sehen, was für die anderen Länder bereits gespeichert wurde.

Ich werde dann wohl zu jedem Land ein Feld definieren müssen und das als Sortierkriterium benutzen.

Gruß
Heiko

database

Hi,

und warum realiserst du das dann nichtso wie es der Anwender definiert hat?

Den aktuell zu bearbeitenden Datensatz bringst du in einem Hauptform zur Anzeige.
Die Möglichkeiten reichen hier vom Scrollen über Kombifeldauswahl bis hin zur programmierten Auswahl.

Darunter erstellst du ein UNABHÄNGIGES Endlosform in dem du alle Datensätze ausser dem aktuellen per Abfrage sortiert nach Länderbezeichnung anzeigst.

Nach Auswahl des zu bearbeitenden Datensatzes wird die Datenherkunft des 'Unterformulars' per Abfrage erstellt und dem Form zugewiesen.

Im Falle der Auswahl durch Kombifeld des zu bearbeitenden Länderdatensatzes KÖNNTE das im Ereignis AfterUpdate so ähnlich laufen:

dim strSQL as string

strSQL = "SELECT * FROM Tabelle WHERE Land <>" & Me!DeinKombifeld & " ORDER BY LandBezeichnung"
Forms!DeinEndlosform.SQL = strSQL
Forms!DeinEndlosform.Requery


Heiko03

ok, das wäre auch eine Idee, leider müssen die Daten im Formular aber in einer bestimmten Form angezeigt werden, die nicht mit der tabellarischen Darstellung eines UFO zusammen geht. Trotzdem danke für den Tipp.

database

Hallo,

Zitatdie nicht mit der tabellarischen Darstellung eines UFO zusammen geht
In einem Endlosformular kannst du selbst bestimmen wie die Felder angeornet werden - tabelarisch ist nur eine mögliche Form.