Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Eine Datenbank mit Access 2013 richtig entwickeln

Erweitertes Kombinationsfeld

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Das Kombinationsfeld zeigt nicht nur die Liste aller Unternehmen an, sondern einen zusätzlichen Eintrag für "alle". Damit können Sie eine Auswahl leicht aufheben.

Transkript

Es gibt jetzt bereits das fertige Steuerungsformular. Es hat ein Bild darauf, und soll jetzt drei Comboboxen kriegen, Dropdown-Listen, Ausklapplisten, wie immer Sie die nennen. Die oberste für die Unternehmen, darunter für die Niederlassungen und schließlich für die Mitarbeiter, sodass ich jeweils auswählen und filtern kann. Das heißt, erstmal in den Entwurf wechseln. Wenn Sie das versuchen, hier zu machen, klappt das solange wie kein Control darauf ist. Hier zum Beispiel können Sie schon nicht in die Entwurfsansicht wechseln. Deswegen habe ich mir direkt angewöhnt, da oben den Rechtsklick zu machen. Das klappt immer. Und ich würde jetzt hier entsprechend ein Kombinationsfeld auswählen, also hier ein Klick, und hier, ich ziehe das erstmal einfach so breit wie das da oben ist, da muss ich noch ein bisschen Platz schaffen für darüber das Beschriftungsfeld. Aber das Kombinationsfeld kann wenigstens schonmal einen vernünftigen Namen bekommen. Das wird also "cmbUnternehmen" sein. Und darüber gibt es ein Beschriftungsfeld. Das mache ich einfach genauso breit. Das kriegt erstmal einen vorübergehenden Titel. Der heißt "Unternehmen". Und natürlich einen vernünftigen Namen. Der heißt "lblUnternehmen". Dieses Smarttag weist mich gerade darauf hin, dass es ein eigenes Bezeichnungsfeld ist, ohne irgendein Anhängsel. Jetzt entdecke ich das eben vermisste. Das ist ein bisschen schwierig zu finden, weil das da alles so eng ist. Da liegen nämlich zwei hintereinander. Ich habe die jetzt beide markiert. Ich mache das nochmal deutlicher. Und mit Umschaltklick kann ich die äußere Markierung aufheben von der Combobox, und habe jetzt hier das Bezeichnungsfeld, das ich eben schon vermisst hatte. Das werde ich tatsächlich löschen, "Entfernen", und dann kann ich diese beiden markieren, und im Smarttag angeben, dass diese beiden miteinander verbunden werden sollen. Dann macht es sozusagen wieder rückgängig, dass das andere gelöscht wurde. Dieses Kombinationsfeld soll natürlich vernünftige Daten anzeigen. Im Moment ist es leer. Ich kann schonmal die Spaltenanzahl auf zwei stellen, und die Spaltenbreite der ersten auf null, Und die gesamte Listenbreite, da muss ich mal eben gucken, das sind zurzeit fünfeinhalb, sagen wir mal auf neun Zentimeter. Und als Datenquelle kommt selbstverständlich in Frage: die sortierte Anzeige der Unternehmen. Das war also "qryunternehmenSortiert", und die kann ich im Blindflug auswählen. Ich weiß, die haben zwei Spalten. Deren erste Spalte ist eine ID, deren zweite Spalte ein Name, der angezeigt werden soll. Das sollte also auf Anhieb funktionieren, können wir speichern und einmal ansehen. Erste auffällige Bemerkung: Da steht doch noch nichts ausgewählt. Zweitens: Es klappt. Gut, hätte vielleicht kürzer sein dürfen, aber vielleicht gibt es auch mal längere Bezeichnungen. Und dritte Erkenntnis: Was ist, wenn ich den Filter aufheben will? Ich kann natürlich den Eintrag löschen. Dann habe ich da ein "null" drinstehen. Das ist nicht so schön zum Filtern. Ich hätte gern zusätzlich einen fünften Eintrag, der da heißt: "alle". Also muss ich ein bisschen was vorbereiten. Ich mache das mal außerhalb des Formulars, also "Schließen". Dann nehme ich eine neue Abfrage. Die ist an sich erstmal nicht besonders schwierig. Eine Abfrage, die die bisherige, "UnternehmenSortiert", nutzt und namentlich dazunimmt. Das ist jetzt nichts besonders Originelles. Das zeigt, wie bisher auch, die IDs und die Namen zum Anzeigen. Jetzt mache ich daraus aber eine Union-Abfrage. Deswegen muss ich in SQL wechseln und kann die erstmal ein bisschen verkürzen. Hier, dann schreibt es sich freundlicher, also die Bezeichnung des Tabellennamens ist nicht jedesmal nötig. Und ich werde jetzt hier einfach erstmal kopieren, dass ich die gleiche Anzahl Felder habe. Und ich schreibe mal ganz deutlich mit Abstand dazwischen. So sollte das sein. Und jetzt erfinde ich hier neue Felder. Also zum Beispiel, dass ich sage "SELECT -1 AS", und da schreiben wir wie unten auch, das hätte ich stehen lassen können, "untID", und, ich schreibe mal ruhig in Klammern, "(alle) AS untNameAnzeigen". Das könnte schon erfolgversprechend sein, aber Sie werden feststellen, da kommen jetzt zu viele. So oft wie ich in der Tabelle Unternehmendaten drin habe, so oft wird dieser Wert angezeigt. Deswegen muss ich ein bisschen tricksen. Ich schreibe hier ein "SELECT DISTINCT", jeden nur einmal anzeigen, und habe das behoben. Die werden in der Reihenfolge ihrer Namen angezeigt. Die Klammer sorgt nebenbei dann dafür, dass es auch oben steht. Ich habe also mit einer Union-Abfrage vor die eigentlichen Daten noch das Wort "alle" geschrieben und mit einer "-1" versehen. Ich hätte auch eine "0" nehmen können. Auf jeden Fall habe ich jetzt eine ID erfunden, die es in einem Auto-Wert nicht geben kann. Und diesen Inhalt werde ich jetzt herübertransportieren, über die Zwischenablage, markieren und strg+C, ich lasse es nochmal offen, falls es mir irgendwie verloren geht, und hier, in der Entwurfsansicht für dieses Kombinationsfeld, einbauen. Also nicht direkt qryUnternehmen sortiert, sondern ich kopiere das jetzt einfach hinein, das komplett als Datensatzherkunft. Das ist schon der halbe Erfolg. Ich habe jetzt also in der Liste zusätzlich noch alle und weiß, im Geheimen sozusagen, da steckt eine "-1" drin. Ich muss also später nur "-1" abfragen, und kann dann prüfen, ob das denn so funktioniert. Jetzt möchte ich als Zweites noch beim Starten dafür sorgen, dass auch die "-1" ausgewählt wird. Und das geht relativ einfach. Da muss ich allerdings natürlich dessen Entwurf ändern. Hier gibt es einen Standardwert. Wenn ich den auf "-1" stelle und ja weiß, dass dieser Wert immer vorhanden ist, das können wir schonmal aufräumen, nein, das brauchen wir nicht mehr, dann würde ich jetzt feststellen, dass er direkt eingestellt ist. Falls Sie sich gerade wundern, warum das noch nicht eingestellt ist: Das ist so ein Kandidat, warum man das Ding wirklich schließen muss. Es ist alles in Ordnung, ich muss es nur schließen und öffnen. Sonst werden Standardwerte nicht gelesen, zum Beispiel. Also "Schließen", ja, ich will speichern. Beim nächsten neuen Öffnen ist alles in Ordnung. Also "alle" ist jetzt der voreingestellte Wert, und darauf kann ich mich dann auch verlassen. Und ähnlich werde ich die anderen behandeln, aber erstmal ging es darum, grundsätzlich das Konzept zu zeigen, wie diese Combobox funktionieren soll.

Eine Datenbank mit Access 2013 richtig entwickeln

Sehen Sie einem erfahrenen Datenbankentwickler über die Schulter und lernen Sie dabei, wie Sie in Access 2013 optimale und perfekt skalierbare Datenbank anlegen und pflegen.

5 Std. 18 min (53 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!