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

Eine Datenbank mit Access 2013 richtig entwickeln

Datenbank mit zu vielen Informationen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Sehr zuverlässig werden Sie in Datenbanken das Problem haben, zu viele Informationen darstellen zu müssen. Dazu wird hier das Datenmodell etwas erweitert.

Transkript

Eines der in größeren Datenbanken schnell auftauchenden Themen ist nicht nur, wie bringe ich ein Unterformular in vielen Formularen unter, das war unser Formularkopf, sondern auch, wie bringe ich möglicherweise viele Unterformulare in einem Hauptformular unter. Und zwar dann, wenn Sie viele Informationen zu einer Quelle haben. Dazu habe ich in unserem Beispiel auch schon die fehlende Tabelle "Umsätze" ergänzt. Ich zeige Ihnen die erstmal in der Entwurfsansicht. Da ist nichts wirklich Originelles, im Vergleich zu dem drin, was Sie bisher gesehen hatten. Deswegen habe es bereits fertiggestellt. Sie hat eine ID, als Autowert mit einem Primärschlüssel. Sie hat eine Referenz, nämlich die Umsätze pro Jahr auf ein Unternehmen. Deswegen gibt es hier die übliche "Nachschlagen"-Tabelle, also mit "Datensatzherkunft", "UnternehmenSortiert", weil das Feld eben "umsuntIDRef" ist. Dann gibt es einen Datum, einen Betrag, nämlich zu welchem Stichtag war welcher Umsatz gemeldet worden. Und das Anzeigen ist daher ein kleines bisschen berechnet. Ich vergrößere das mal ein bisschen. Hier ist berechnet das Datum, Doppelpunkt und dann, der von den Centanteilen befreite Eurobetrag. Ich hätte ihn auch gerne noch mit Tausenderpunkt gemacht, aber die Format Funktion ist an dieser Stelle nicht freigegeben, deswegen habe ich mir ein bisschen beholfen. Und in der Ansicht, in der Datenblattansicht sieht es, dann wirklich so aus. Ich habe aber nichts geändert, deswegen gehe ich ausdrücklich ohne speichern raus. In der Datenblattansicht sieht es dann so aus. Eine ID, eine Referenz auf die zugehörige Firma, ein Datum, dass ist meistens sicherlich der erste Januar, aber je nachdem, wann das gemeldet wird, muss es nicht sein. Der Betrag hübsch formatiert und hier "umsAnzeigen", nicht ganz so hübsch formatiert, zwar ohne Cent, aber eben nicht mit dem Tausenderpunkt. Dazu gibt es, selbstverständlich, dass nennt sich Spaltenbreiten, die ich bestätigen muss. Dazu gibt es selbstverständlich eine neue Abfrage nach dem üblichen Muster. Es sind, die IDs und das Anzeigefeld sichtbar und - allerdings sortiert nach dem Datum und nicht nach dem Anzeigewert, weil das Datum sonst dort, wie ein Text behandelt würde und das ist nicht immer schlau. Also nichts besonders Ungewöhnliches, was in dem bishergen Datenmodell auch noch nicht pefekt war, war die Tatsache, dass die referentielle Integrität zwar schon angesprochen, aber nicht eingebaut war. Also das sollten Sie jetzt auch nachholen. Bei den Datenbank-Tools in den Beziehungen. So wird es im Ergebnis aussehen, von dem Unternehmen 1:n zu Niederlassung, von jeder Niederlassung 1:n zu Mitarbeitern. Das heißt hier, per Doppelklick, sehe ich jetzt der Primärschlüssel ist die UnternehmensID und der Fremdschlüssel, natürlich die NiederlassungsUnternehmensID-Referenz. Mit referentieller Integrität 1:n alles in Ordnung. Das ist entsprechend eine Ebene tiefer hier genauso, von der Niederlassung zu Mitarbeiter mit referentieller Integrität und hier entsprechend auch zu den Umsätzen vom Unternehmen zu dem einzelnen Umsatz. Also, im Grunde dreimal das Gleiche. Ich ordne die Tabellen ja auch immer so an, dass die 1er-Seite, also die Mastertabelle etwas höher steht und die Massendaten-Detail-Tabelle ein bisschen tiefer steht, sodass man immer sehen kann, je tiefer es hier geht, desto mehr Daten sind da, desto mehr Aufmerksamkeit muss auch in die Performance gehen. Aber ansonsten ist hier nichts besonderes passiert. Nur, dass es vollständig ist und ich mich nicht drauf verlasse, dass die Listen nur Listeneinträge liefern, sondern auch, dass die referentielle Integrität eingebaut ist. Jetzt kommt das eigentliche Problem, es gibt auch schon die entsprechenden Formulare zum Beispiel Formularumsätze. Das hat die Kopfzeile gekriegt, nennt sich auch entsprechend im Titel schon so. Ist ein ganz normales langweiliges Endlosformular, die sind schon deaktiviert und insofern nichts Ungewöhnliches. Wenn sie mit Alt-F11 hinter die Kulissen gucken, das Formular "Umsätze" hat genau diese eine Zeile drin, dass der Titel stimmt. Und wieder zurück, es gibt ein Formular "Unternehmen", dass ist ein Detail-Formular, also keine Endlosliste. Zeigt genau ein Unternehmen, davon haben wir vier Stück, die kann man jeweils durchblättern. Auch hier ist ID und Anzeige berechnetes Feld - jeweils deaktiviert. Die Überschrift ist wie gewohnt. Sie ahnen schon, das hat mich keine 5 Minuten gekostet das zu erstellen. Ist wie gewohnt mit dem Unterformular, alles wunderbar. Es gibt auch noch eins, welches die Mitarbeiter zeigt, aber da die Mitarbeiter nicht direkt am Unternehmen, sondern über die Niederlassung am Unternehmen hängen, musste ich das geringfügig erweitern. Von außen sieht es erstmal aus wie gewohnt. Und ich habe mal einen sehr langen Titel gewählt, damit Sie auch sehen, dass auch die langen Texte hier reinpassen. Obwohl das Kopfformular im Entwurf ja sehr schmal ist. Wunderbar, klappt also. Und hier sehe ich zusätzlich zu den Daten, die aus dem Mitarbeiterdatensatz kommen, sehe ich hier am Namen des Feldes auch ein Inhalt, der aus der Niederlassung kommt. Das bedeutet, im Entwurf habe ich in den Eigenschaften des Formulars, nämlich die "Datensatzquelle" erweitert. Das ich außer der Tabelle "Mitarbeiter", und mit Sternchen alles übernommen habe, noch die Tabelle "Niederlassung" aufgenommen habe, das geht ja hier. Die verbinden sich automatisch wegen der referentiellen Integrität. Und dort habe ich zusätzlich die NiederlassungsUnternehmensIDReferenz angegeben. Weil sich dann die Sortierung ändert, nämlich die Niederlassung gewinnen, habe ich noch den Nachnamen der Mitarbeiter und damit es korrekt wird auch noch den Vornamen anschließend aufsteigend sortiert, aber nicht sichtbar. Und das ist jetzt die Datenquelle für das Fomular. Wenn ich das jetzt schließe, muss ich es natürlich wieder speichern, sprich übernehmen und hier es speichern. Und jetzt sehen Sie hier eigentlich nur, dass zu jedem Mitarbeiter nicht nur direkt die NiederlassungsID, sondern eben auch indirekt die UnternehmensID angezeigt wird. Das ist notwendig, weil wir die nachher verknüpfen werden. Bis hierhin ist das eigentlich nur Vorbereitung. Und jetzt habe ich zu viel an Wissen. Ich habe zu jedem Unternehmen seine Umsätze, wenn ich das noch sinnvoll filter, seine Standarten, seine Adresse sage ich mal, seine Mitarbeiterdaten und natürlich auch noch seine Niederlassung. Und die hätte ich jetzt gern in einem Überblick. Und das wird ein Problem werden, deswegen all das hier war Vorbereitung, um das Problem zu erzeugen und zwar deshalb, weil es einfach sehr schnell auftauchen wird. Wir haben jetzt 4 Formulare, die alle zum Unternehmen gehören, im weitesten Sinne, und der Benutzer möchte die natürlich auch ganz gerne auf einen Blick sehen.

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!