Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Eine Datenbank mit Access 2013 richtig entwickeln

Benutzer-Tabelle einfügen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Damit Sie in der Datenbank auf den aktuellen Benutzer und seine möglichen Rechte reagieren können, braucht es eine neue Tabelle mit den passenden Werten.

Transkript

Bevor es jetzt an die eigentliche Bedienung geht, müssen wir erst mal überlegen, für wen diese Bedienung gemacht wird. Es gibt nämlich unterschiedliche Benutzer, die vor ihrem Bildschirm sitzen und mit ihrer Datenbank arbeiten. Es gibt welche, die so was wie Admin-Rechte haben, dürfen alles machen. Dann gibt es vielleicht Leser, vielleicht welche, die auch schreiben dürfen, aber vielleicht nur in manchen Formularen. Es sollte also eigentlich fast zwingend sein, dass Sie wissen, wer gerade mit Ihrer Datenbank arbeitet. Die Access-eigene Erkennung, mit einer system.mdw zum Beispiel den Benutzer zu erkennen, und zwingen, per Passwort anmelden zu lassen, die ist seit Access 2007 nicht mehr enthalten. Das macht aber nichts. Sie können auf andere Varianten zugreifen. Offiziell empfohlen wird, auf den SQL-Server und dessen Datensicherheitskonzepte zuzugreifen. Das ist aber für eine kleine Lösung viel zu groß. Viel einfacher ist es, Sie fragen den, der bereits weiß, wer vor Ihrem Bildschirm sitzt. Es gibt praktisch keinen Rechner mehr, wo man sich nicht vorher anmelden muss. Und in dem Umfeld, in dem Sie arbeiten, das ist typischerweise für eine Firma, können Sie vorher prüfen und eigentlich sicher sein, dass sich jeder Mitarbeiter per Login bei Windows angemeldet haben muss. Und dieses Login können Sie in Access ganz einfach abfragen. Ich muss dann natürlich zusätzlich zu dem so erkannten Benutzer auch vielleicht noch ein paar Daten speichern. Deswegen ist es sehr hilfreich, dass ich an der Stelle mir eine Tabelle anlege, die mit den tatsächlich inhaltlichen Tabellen im Grunde nichts zu tun hat, sondern nur für die Verwaltung der Datenbank zuständig ist. Also einen neuen Tabellenentwurf, Die Tabelle wird "User" heißen, die Benutzer, also wird der AutoWert, der automatische Primärschlüssel, AutoWert, Primärschlüssel, "usrID" heißen, die User-ID. Das ist nur, damit sie erstmal eindeutig gekennzeichnet wird. Genauso eindeutig ist eigentlich sein Login, und daran werde ich ihn gleich erkennen. Das ist ein kurzer Text, und das frage ich ab und vergleiche das mit dem Windows-Login. Daraus könnten anschließend zwei Reaktionen erfolgen. Entweder Sie sagen jemandem, der neu ist: Leider stehst du nicht in der Tabelle, du darfst hier als Gast ein paar wenige Sachen machen. Oder: Leider stehst du nicht in der Tabelle, dafür schließe ich diese Datenbank aber sofort. Das ist Ihnen freigestellt, wie rigoros Sie mit Unbekannten umgehen wollen. Ich werde das hier nett gestalten, das heißt, wer Gast ist, kriegt eine Meldung, und ansonsten ist dann relativ viel unerreichbar für ihn. Zu dem User-Login ist es immer ganz schön, wenn man da noch hinterlegt, wie er heißt, also Nachname und User-Vorname. Dann können Sie ihn auch ordentlich ansprechen. Und dann wird das natürlich wieder zusammengerechnet. Bevor ich das jetzt einfüge, muss ich es aber erst speichern. Also, das ist die Tabelle "User", und jetzt erst kann ich "userNameAnzeigen" ergänzen, wie Sie das auch von der Tabelle "Mitarbeiter" schon kennen. Ein berechnetes Feld, welches den Vornamen verkettet mit dem Nachnamen - per Doppelklick da oben übernehmen - anzeigt. Und dann gibt es, mehr so zu Demonstrationszwecken, ein paar Rechte, Ich werde die Rechte jetzt sehr einfach vergeben. Es steht also hier ein "userDarfLoeschen"-Recht auf "Ja/Nein". Und dann gibt es noch explizit ein "userDarfNeu", also neue Datensätze hinzufügen, zum Beispiel, oder für ganz besondere Aufgaben, "userIstAdmin". Das lässt sich beliebig erweitern, ich speichere das Ganze erstmal. Sie haben natürlich Recht, dass dieses keine ganz datenkonforme Art der Speicherung ist. Rechte müssten eigentlich in einer Liste von Rechten geführt werden, und dann mit einer "n:m"-Beziehung zwischen den Benutzern und den Rechten die entsprechenden Rechte zugeordnet werden. Ganz ehrlich, das ist Arbeitsbeschaffung. Für drei Rechte, selbst für zehn Rechte ist es so viel einfacher, dass jeder Benutzer direkt in seinem Datensatz ein Recht auf Ja oder Nein drin stehen hat. Jetzt will ich auch direkt ein paar Daten eintragen. Mindestens mich selbst. Also wenn ich in die Ansicht wechsle, müsste ich jetzt hier eintragen können wie ich heiße. Geht's schon los. Natürlich kennen Sie Ihr Login, aber wenn Sie ganz sicher gehen wollen, wie sich Ihr Login gerade für Access anfühlt, wechseln Sie einfach mit Alt + F11 in den VBA-Editor - hier können wir alle Fenster zu machen - machen mit Strg + "G" zum Beispiel den Direktbereich auf, und fragen jetzt genau mit dem VBA-Befehl der das später auch machen wird - der heißt "environ"; kommt so von der alten DOS-Ermittlung, wo das auch "environ" hieß - und zwar fragen Sie den "Username" ab. Und nach dem Return kriegen Sie jetzt genau hier die Angabe, wie VBA Ihr Login zurückgeben würde. Also ich heiße in diesem Zusammenhang hier "trainer". Das genau kann ich da rein kopieren. Dann kann ich meine persönlichen Daten ergänzen. Da wird es automatisch berechnet. Sieht alles gut aus. Und ich darf alles, ich bin sogar Admin. Und ich werde noch einen zweiten erfinden, sagen wir "willi99" und der heißt "Wichtig" "Willi". Das ist nämlich zufällig einer der Unternehmer, der hier auch mit arbeiten darf. Und der darf zwar neue Datensätze angeben, aber sonst nichts. Das soll jetzt erstmal reichen. Ich will ganz ehrlich sein, gerade diese Prüfung der Benutzerrechte später, die Datenbank für jeden anderen Benutzer, so dass man sich dann also da jeweils anmeldet, zu prüfen, was darf der, was kann der, und wenn er es nicht darf oder wenn da irgendein Fehler ist, müssen Sie wieder als Admin rein, das ist gelinde gesagt mühsam. Deswegen will ich das hier nur als Konzept zeigen und nicht bis in jedes Detail verwirklichen. Sie werden sehen, wenn man das Konzept verstanden hat, ist der Rest wie von selbst. Ich habe also die Tabelle fertig und damit ist sozusagen der wichtigste Teil geschafft. Ich kann wenn jemand sagt "ich bin jetzt neu hier" sein Login eintragen, ihn nach seinem Namen fragen und ihm Rechte vergeben. Das muss irgendwie in VBA ermittelt werden, aber die Daten haben wir jetzt schon mal zuverlässig hier stehen.

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!