Access: Abfragen mit SQL

Daten automatisch nummerieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit einer geschachtelten SELECT-Anweisung lassen sich Datensätze beliebig durchnummerieren.

Transkript

Eines der offenbar wirklich hartnäckigen Probleme besteht darin, in einer Datenbank Datensätze durchzunummerieren. Wir könnten natürlich jetzt einwenden, das ist doch kein Problem, wir haben einen Auto-Wert, und der zählt immer brav einen hoch. Ja, aber das funktioniert nur so lange, wie Sie nicht Datensätze löschen. Dann haben Sie nämlich Lücken. Oder wie Sie Datensätze filtern. Dann haben Sie massive Lücken. Ich habe das jetzt provoziert, weil meine Auto-Werte noch alle schön sauber sind, indem ich eine Abfrage erstellt habe, die nur die Münchener Schüler anzeigt. Also, hier, wenn ich das jetzt ausführe, sehen Sie, es sind 6 Datensätze, und die haben natürlich keine fortlaufende ID mehr. Und das möchte ich jetzt herstellen, und zwar mit einem gar nicht so originellen Trick, ich zähle nämlich, wie viele Datensätze es gibt, deren ID kleiner gleich 77 ist. Das ist genau einer. In der nächsten Zeile zähle ich, wie viele es gibt, deren ID kleiner gleich 78 ist. Das sind dann zwei. Hier sind es drei, und damit habe ich die automatische Nummerierung. Ich muss ganz deutlich dazu sagen, das ist kein Geschwindigkeitswunder. Ich kann die Dauer mal messen, bei diesen wenigen Datensätzen ist es vermutlich gar nicht festzustellen. Aber ich kann Ihnen versprechen, sobald Sie die 50 Datensätze, oder die 100 Datensätze überschreiten, ist das sehr deutlich messbar, und wenn Sie mal 1000 Datensätze durchnummerieren müssen, dann ist das schon in der Kategorie "furchtbar". Aber es gibt keine andere Lösung, Sie müssen es mit SQL machen, alle Varianten, die sonst so durch das Internet geistern, eine VBA-Funktion oder sowas, versuchen Sie nur, die Anzeige zu aktualisieren, und Sie werden feststellen, dass die furchtbar scheitert. Also, ich habe hier alle Felder von dieser Tabelle. Die sollen nummeriert werden, das bedeutet, ein neues Feld, ein berechnetes Feld, ich werde das hier in einer neuen Zeile schreiben. Einfach, damit es übersichtlicher ist. Und das muss also für diese Formulierung: Ich suche alle Datensätze, deren ID kleiner gleich als mein eigener Datensatz ist; für diese Formulierung muss ich jetzt ein SELECT-Statement finden, und das bedeutet: "SELECT COUNT", zähle mal alle, und zwar mit dem Sternchen, weil mich der Feldname selber nicht interessiert, von der gleichen Datenquelle. Das ist wichtig, dass Sie exakt die gleiche Datenquelle benutzen, die kann ich mir aber bequem mal holen, aus meiner Liste der Abfragen. Die muss die gleiche Datenquelle sein, weil sie vor allem gleich sortiert sein muss. Aber da es die gleiche ist, muss sie natürlich einen zweiten Namen erhalten. Die werde ich einfach als "qryS" bezeichnen. Für die gilt diese Bedingung, dass die Nummer in "qryS", und zwar deren Schüler-ID, kleiner gleich dem außenstehenden, da kann ich wieder den langen Namen benutzen, und dessen Schüler-ID ist. Und das muss natürlich, weil da jetzt ein Feld rauskommt, ein einziger Wert, das ist ja eine Gruppierungsabfrage ohne Gruppe, die ein einziges Ergebnis liefert, und das muss ich dann "AS" neuer Feldname, zum Beispiel als "Nr" bezeichnen. Wenn ich das jetzt ausführe, einmal aktualisieren lassen, dann sehen Sie, dass ich hier Glück gehabt habe. Es sind so wenig Datensätze, dass das noch nicht messbar ist, aber ich kann Ihnen versprechen, das ist sehr schnell messbar. Es ist langsam, das kann man nicht vermeiden, aber es ist die einzig funktionierende Methode. Sie haben also hier sicher gezählte Datensätze, und die werden dann als Durchnummerierung benutzt. Im Grunde werden ja nur alle Datensätze gezählt, deren ID kleiner gleich diesem ist, aber das läuft auf eine Nummerierung hinaus.

Access: Abfragen mit SQL

Nutzen Sie die mächtige Abfragesprache SQL in Microsoft Access. Anhand einer Beispiel-Datenbank lernen Sie die Möglichkeiten und Finessen von SQL im Detail kennen.

3 Std. 14 min (64 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieses Training ist für alle Access-Versionen verwendbar. Das vermittelte SQL-Wissen lässt sich mit geringen Abweichungen auch für andere relationale Datenbanksysteme nutzen.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!