Access 2016: Tabellen für Fortgeschrittene

Kombinationsfelder verbessern

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die Benutzerführung im Kombinationsfeld lässt sich noch verbessern, indem es eine brauchbare Fehlermeldung anzeigt und bei Bedarf sogar die IDs ausblendet.

Transkript

Kombinationsfelder, die ja typischerweise in solchen Fremdschlüsseln eingebaut werden, sehen auf den ersten Blick ganz schön aus. Ich kann ja ausklappen und mir angucken, was sich hinter der Nummer "4" verbirgt und kann dort auswählen, welche Nummer erlaubt ist. Die lösen direkt bei den meisten Entwicklern zwei Wünsche aus: Erstens, wenn ich hier eine falsche Nummer eingebe, ist die Meldung ziemlich unbrauchbar. Und zweitens, warum will ich eigentlich die Nummer sehen? Fangen wir vielleicht erst einmal mit der Meldung an. Ein Kombinationsfeld ist eine Kombination nämlich aus der Liste, die da ausklappt, und der Eingabemöglichkeit. Ich kann jetzt also hier eine beliebige andere Zahl eingeben. Der Vorteil dieser Nummern ist, wenn Sie die im Kopf haben, können Sie die schnell tippen und wenn ich jetzt mit der Tab-Taste weitergehe, passiert nichts. Und sobald ich die Zeile nach unten klicke, kommt diese – ich sage es einmal ehrlich – hässliche Meldung, die nämlich von der referentiellen Integrität ausgelöst wird. Die ist zwar in sich richtig, sie sorgt dafür, dass dieser Fehler nicht passieren kann, aber stellen Sie einmal sich vor, ein normaler Benutzer liest so etwas. Wir als Entwickler können wissen, "tblFunktionen" ist ein Problem, das muss also mit diesem Feld zu tun haben. Der Benutzer sieht, dass er in irgendeinem Feld etwas gemacht hat und beim Verlassen des Datensatzes, der nicht gespeichert werden kann. Möglicherweise steht er 20 Felder weiter der weiß also nicht, wie ihm geschieht. Immerhin weiß er hoffentlich, wie er das beseitigen kann, nämlich mit der Escape-Taste. Dann wird alles, was in dem Datensatz geändert wurde, spätestens bei der zweiten Escape-Taste wieder rückgängig gemacht. Was ich jetzt verbessern möchte, ist die Meldung. Es gilt weiterhin die referentielle Integrität, also es gibt keine Chance, das in irgendeiner Form zu umgehen. Aber ich setze jetzt sozusagen noch eins oben drauf, und zwar nur für dieses Kombinationsfeld. Im "Entwurf" gibt es die Eigenschaft "Nur Listeneinträge". Das können Sie mit einem Doppelklick auf "Ja" stellen und die ist sehr verführerisch. Ich sehe ganz häufig Datenbanken ohne referentielle Integrität und nur mit ComboBoxen, die auf "Nur Listeneinträge" stehen. Das können Sie vergessen, die Daten darin lassen sich ohne Bedenken ändern, ohne dass Sie die ComboBox benutzt haben, dieses Kombinationsfeld. Per Anfügeabfrage, per Aktualisierungsabfrage, per VBA – all das nutzt nicht dieses Kombinationsfeld und ignoriert damit diese Einstellung, gilt also nicht als Datensicherheit, sondern als "Freundlichkeit". Die Datensicherheit, damit es richtige, gültige Daten sind, ist mit referentieller Integrität einzustellen, also hier bei den Beziehungen der Doppelklick hier auf diese Verbindungslinie. Dieses ist so in der Kategorie "nice to have". Sie werden sehen, das verbessert vor allem die Meldung. Jetzt gehe ich wiederum hin und schreibe da irgendeine ungültige Zahl hinein. Und jetzt schon beim Versuch mit der Tabtaste oder mit der Maus da herauszukommen, ist die Meldung besser. Das kann man dem Benutzer zumuten. Der sieht jetzt erstens, was falsch ist und zweitens, was er zu tun hat und kann jetzt etwas aus der Liste wählen oder mit Escape-Taste das ganze verlieren. Das verbessert also in unserem Sinne die Meldung, und zwar sofort beim Verlassen dieses Feldes, nicht erst, wenn ich 30 Felder weiter bin. Die referentielle Integrität greift erst beim Speichern. Diese"Nur-in-Liste"-Eigenschaft, die greift sofort beim Verlassen des Feldes. Das ist also die erste Verbesserung. Wenn schon ComboBox, dann werde ich auch dort direkt auf "Nur Listeneinträge" stellen. Das ist eine "Freundlichkeit" und erspart eine eigene Fehlermeldung. Das Zweite ist die Erkenntnis, was machen die eigentlich? Hier stehen Zahlen und jedes Mal, wenn ich da etwas wissen möchte, muss ich die ausklappen. Kann ich das nicht auch direkt im Klartext anzeigen? Ja, kann ich. Ich zeige Ihnen jetzt auch, wie das geht. Das ist überraschend einfach, denn wir haben es eigentlich schon gemacht. Ich habe hier eine Spalte ausgeblendet. Ich werde jetzt die erste Spalte hier auch ausblenden. Sichtbar bleibt die erste, nicht ausgeblendete Spalte und das ist eins, zwei, drei, die dritte Spalte. Das kann ich jetzt also speichern und die Datenblattansicht angucken. Hier ist es im Moment noch falsch, also der Text ist richtig, alles gut, aber diese Texte sind noch rechtsbündig, wie eine Zahl. Das ist sofort weg, wenn ich schließe. Das betraf das Layout über die Spaltenbreiten. Wenn ich schließe und wieder öffne, ist alles schon, wie man es erwartet, die Texte sind linksbündig und so sind Benutzer rundherum glücklich. Die sind überzeugt, sie wählen das Wort "Springer" und dieses Wort wird in dem Feld gespeichert. Das ist natürlich völliger Quatsch, wie wir als Entwickler wissen. Ein Feld, welches bei mir "persofunktIDRef" heißt, da weiß ich ganz sicher, "funktID" ist ein Auto-Wert, sicher im Long-Datentyp und wenn ich auf einen Long-Datentyp eine Referenz habe, muss ich selber auch long sein. Also hierhinter verbirgt sich ein Long-Zahlenfeld und da kann ich die Buchstaben S-P-R-I-N-G-E-R garantiert nicht darin speichern. Es wird weiterhin die Zahl gespeichert, aber es sieht für den Benutzer anders aus. Und der Benutzer ist zufrieden und deswegen mache ich das garantiert in allen Formularen so. Aber ich mache das nie in Tabellen, denn jetzt können Sie nicht mehr herausfinden, welche Zahl wirklich darinsteht. Die Tabelle ist die einzige Stelle, wo ich noch einmal sehen kann, was hinter den Kulissen passiert, deswegen gehöre ich zu denen, die das auf keinen Fall einschalten. Also die erste Nummer, die eigentliche gebundene Spalte, um die geht es nämlich, die Zahl, die wirklich darin gespeichert wird, die möchte ich auch gerne sehen. Immerhin hier steht es jetzt immer noch fälschlich linksbündig, ich mache das eben einmal zu und einmal auf, immerhin befinden wir uns hinter den Kulissen. Das heißt, diese Tabellen sieht nur ein Entwickler. Ein Benutzer hat da gar nichts darin zu suchen, der kriegt hübsche Formulare, wo das alles schön hinter irgendwelchen Kulissen versteckt wird. Also nur in Tabellen sorge ich dafür, dass ich die gebundene Spalte, die mit der wirklichen Nummer, sehe. Es ist vielleicht etwas lästig, dass man sich die eigentlichen Inhalte erst ausklappen müsste, aber dafür kann man wirklich noch einmal sehen, worum es geht. Schönheit ist Sache der Formulare, Richtigkeit und Technik ist Sache der Tabellen.

Access 2016: Tabellen für Fortgeschrittene

Meistern Sie die hohe Kunst der Access-Tabellen. Lernen Sie, Tabellen mit speziellen Datentypen, berechneten Felder, Indizes und Verknüpfungen weiterzuentwickeln.

2 Std. 32 min (27 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:13.03.2017

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!