MS Access 2003 - Bestellung der String-Werte für eine Listbox nicht alphabetisch
-
23-09-2019 - |
Frage
Dies ist eine dumme Frage. Lassen Sie uns sagen ich eine Abfrage, die für ein Listenfeld erzeugt, und es produziert Werte für drei Geschäfte
Store A 18
Store B 32
Store C 54
Wenn ich nun ORDER BY in der SQL-Anweisung das einzige, was es tun wird absteigend oder alphabetisch aufsteigend, aber ich möchte eine gewisse Ordnung (nur, weil sie eine gewisse Ordnung WILL) ..... so gibt es eine Möglichkeit für mich, etwas zu dem SQL hinzufügen zu bekommen
Store B
Store C
Store A
d. im Grunde Zeile für Zeile, was ich will. Dank!
Lösung
Fügen Sie ein numerisches Feld, Sequenzer , auf die Tabelle, die die Speichernamen enthält. Verwenden Sie die Sequenzer Werte Ihrer Sortierreihenfolge zu bestimmen.
SELECT sequencer, store_name FROM YourTable ORDER BY sequencer;
In der Liste Feld die Spaltenbreite = 0 für die Sequenzer Spalte.
Oder einfach, wie @ dscarr vorgeschlagen , beinhalten nicht Sequenzer in der SELECT
Feldliste, aber nur schließen sie in den ORDER BY
...
SELECT store_name FROM YourTable ORDER BY sequencer;
Andere Tipps
Sie können 1 von 2 Dinge tun.
Verwenden Sie entweder einen SWITCH abgetan, so etwas wie
SELECT Table1.Store,
Table1.Val,
Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3) AS Expr1
FROM Table1
ORDER BY Switch([Store]="StoreB",1,[Store]="StoreC",2,[Store]="StoreA",3);
oder verwenden Sie eine sekundäre Auftragstabelle, dass speichert die Werte der Speichernamen und ein Auftrag von Wert.