{"id":55000044,"date":"2002-02-01T00:00:00","date_gmt":"2021-02-10T19:59:00","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=44"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Mitarbeiterverwaltung_mit_der_MSDE","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/","title":{"rendered":"Mitarbeiterverwaltung mit der MSDE"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg01.met.vgwort.de\/na\/6181e3895dbb455c9348c0673e829546\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Autor: Andr&eacute; Minhorst und Michael Kessel, Duisburg<\/p>\n<p><\/b><\/p>\n<p><b>Je gr&ouml;&szlig;er ein Unternehmen ist, desto mehr Daten f&uuml;r Kunden, Mitarbeiter, Gesch&auml;ftspartner usw. gibt es zu verwalten. Dabei w&auml;chst der Aufwand z. B. zur Verwaltung der Mitarbeiterdaten mit steigender Mitarbeiterzahl. Dummerweise befinden sich in vielen F&auml;llen l&auml;ngst nicht alle Informationen &uuml;ber einen Mitarbeiter an einer Stelle und vor allem sind die Daten meist &ouml;fters als nur einmal vorhanden. So pflegt die Buchhaltung Ihre eigenen Daten, und auch die Personalverwaltung kocht ihr eigenes S&uuml;ppchen. Zus&auml;tzlich erschwert das Vorhandensein  verschiedener Anwendungen die Datenhaltung und f&uuml;hrt damit zu unterschiedlichen Problemen. Das k&ouml;nnen Sie verhindern, wenn Sie die Daten an einer einzigen Stelle halten und pflegen, z. B. mit einer gut organisierten Datenbank.  <\/b><\/p>\n<p>Speziell die Haltung von Mitarbeiterdaten bringt eine Menge Probleme mit sich, wenn einer oder mehrere der oben genannten F&auml;lle eintreten. Vor allem die mehrfache Haltung von Daten des gleichen Mitarbeiters f&uuml;hrt zu Problemen: Es ist schnell passiert, dass sich die Daten in dem einen Datentopf ver&auml;ndern, w&auml;hrend die Anpassungen in den anderen T&ouml;pfen nicht vorgenommen werden. So f&uuml;hren die aufgetretenen Redundanzen schnell zu Inkonsistenzen.<\/p>\n<p><IMG height=\"535\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Formular zur Verwaltung von Mitgliedern<\/span><\/b><\/p>\n<p>Daher ist es wichtig, solche Daten nur an einer einzigen Stelle zu halten. Die Verwendung unterschiedlicher Anwendungen f&uuml;r verschiedene Teilbereiche wie z. B. Buchhaltung und Personalabteilung bringt aber in der Regel die verteilte und redundante Datenhaltung mit sich.<\/p>\n<p>Ziel kann es daher nur sein, die Daten an einer Stelle zu sammeln und alle Anwendungen &#8211; falls erforderlich &#8211; mit geeigneten Schnittstellen auf die Daten zugreifen zu lassen.<\/p>\n<p>Die hier beschriebene Muster-l&ouml;sung konzentriert sich auf die Verwaltung der Grunddaten der Mitarbeiter einer fiktiven Firma.  <\/p>\n<p>Sie erm&ouml;glicht die Eingabe unterschiedlicher Daten sowie deren Ausgabe in Berichten. <\/p>\n<p>Dazu geh&ouml;ren personenbezogene Daten wie die Adresse, Informationen &uuml;ber aktuelle und eventuell vorhandene fr&uuml;here Besch&auml;ftigungsverh&auml;ltnisse sowie &uuml;ber die Projekte der einzelnen Mitarbeiter (siehe Bild 1).<\/p>\n<h3>Hinweis<\/h3>\n<p>Der vorliegende Beitrag setzt das Vorhandensein von Access 2000 sowie die Installation der MSDE bzw. des SQL Servers voraus. Wie das funktioniert, k&ouml;nnen Sie im Beitrag Die Microsoft Data Engine der Ausgabe 1\/2000 von Access im Unternehmen nachlesen. Sie finden den Beitrag im PDF-Format auf der Heft-CD. <\/p>\n<p>Das ist aber nicht das Hauptaugenmerk des Beitrags, denn wie die &uuml;berschrift erkennen l&auml;sst, soll die Datenbank auf der Microsoft Database Engine (MSDE) basieren &#8211; dem kleinen Bruder des Microsoft SQL Servers.<\/p>\n<p>Im Vergleich zum Verwalten von Daten mit der Jet-Engine, die in herk&ouml;mmlichen Access-Datenbanken Verwendung findet, ergeben sich n&auml;mlich einige Ver&auml;nderungen.<\/p>\n<p>So gibt es hier etwas andere Datentypen wie unter Access und der komplette Entwurf von Tabellen sieht etwas anders aus.<\/p>\n<p>Statt des Objekttyps Abfragen verwendet der SQL Server Sichten und Gespeicherte Prozeduren, und die Darstellung und Bearbeitung von Daten in Formularen erweist sich mit dem SQL Server als l&auml;ngst nicht so einfach.<\/p>\n<p>Schlie&szlig;lich bietet der SQL Server ein viel ausgereifteres Sicherheitssystem als die Jet-Engine. All diese Themen sollen im Zusammenhang mit der Mitarbeiterverwaltung besprochen werden.<\/p>\n<p>Leider bietet der Rahmen eines einzelnen Beitrags nicht ausreichend Platz f&uuml;r die Besprechung aller Themen. Daher ist der vorliegende Beitrag der erste Teil einer Reihe von Beitr&auml;gen, die in loser Folge die Arbeit mit dem SQL Server bzw. der MSDE anhand der Mitarbeiterverwaltung beschreiben sollen.<\/p>\n<p>Bevor Sie mit dem Erstellen der Tabellen beginnen, soll zun&auml;chst einmal das zugrunde liegende Datenmodell erl&auml;utert werden.<\/p>\n<p><b>Die Tabelle tblMitarbeiter<\/b><\/p>\n<p>Kernst&uuml;ck des Datenmodells ist die Tabelle tblMitarbeiter. In dieser Tabelle werden die Daten der Mitarbeiter wie Name, Anschrift, Geburtsdaten usw. behandelt, die unmittelbar mit der jeweiligen Person im Zusammenhang stehen.<\/p>\n<p>Weitere Informationen, die sich auf das Arbeitsverh&auml;ltnis beziehen, werden in nachfolgender Tabelle beschrieben  &#8211; dabei handelt es sich vor allem um solche Informationen, die je nach Besch&auml;ftigung wechseln k&ouml;nnen. Eine Ausnahme ist die E-Mail-Adresse des Mitarbeiters: Sie soll immer gleich bleiben und wird daher in der Tabelle tblMitarbeiter gehalten.<\/p>\n<p><b>Die Tabelle tblBeschaeftigungen<\/b><\/p>\n<p>Die Tabelle tblBeschaeftigungen enth&auml;lt Daten &uuml;ber das aktuelle Besch&auml;ftigungsverh&auml;ltnis eines jeden Mitarbeiters. Hier k&ouml;nnen beispielsweise Informationen wie die Vertragslaufzeit, Probezeit, Art des Besch&auml;ftigungsverh&auml;ltnisses, Position in der Firma usw. untergebracht werden.<\/p>\n<p>Diese Tabelle ist vor allem sinnvoll, wenn Mitarbeiter bereits einmal f&uuml;r das Unternehmen gearbeitet haben und nach einer T&auml;tigkeit f&uuml;r ein anderes Unternehmen wieder zur&uuml;ckkehren, oder um einfach festzuhalten, wann ein Mitarbeiter welche Position in welcher Abteilung innehatte.<\/p>\n<p>Es kann dann f&uuml;r jedes Besch&auml;ftigungsverh&auml;ltnis ein neuer Datensatz angelegt werden, der jeweils mit dem entsprechenden Eintrag in die Tabelle tblMitarbeiter verkn&uuml;pft wird.<\/p>\n<p><b>Die Tabelle tblProjekte<\/b><\/p>\n<p>Um auch die Realisierung einer m:n-Beziehung in die Datenbank einflie&szlig;en zu lassen, soll noch eine Projekttabelle erstellt werden. Sie soll lediglich einen Prim&auml;rindex sowie den Projektnamen und Start- und Enddatum des Projektes enthalten. Nat&uuml;rlich k&ouml;nnen Sie jederzeit zus&auml;tzliche Felder unterbringen, um weitere Informationen zu speichern.<\/p>\n<p><b>Die Tabelle tblMitarbeiterProjekte<\/b><\/p>\n<p>Diese Tabelle dient der Verkn&uuml;pfung von Mitarbeitern und Projekten. Der Hintergrund ist, dass es durchaus vorkommen kann, dass nicht nur einer, sondern mehrere Mitarbeiter an einem Projekt arbeiten. Au&szlig;erdem ist auch der Fall vorstellbar, dass ein Mitarbeiter mehrere Projekte gleichzeitig bearbeitet. Mit der Tabelle tblMitarbeiterProjekte kann man jedem Projekt jeden Mitarbeiter zuweisen.<\/p>\n<p>Die Tabelle enth&auml;lt neben den beiden Feldern MitarbeiterID und ProjektID, die als zusammengesetzter Prim&auml;rindex dienen und mit den beiden Tabellen tblMitarbeiter und tblProjekte verkn&uuml;pft werden sollen, nur noch das Feld FunktionID. Dabei handelt es sich ebenfalls um ein Feld zur Realisierung einer Verkn&uuml;pfung. Es dient zur Auswahl einer Funktion des jeweiligen Mitarbeiters in Zusammenhang mit dem ausgew&auml;hlten Projekt.<\/p>\n<p>Die Funktionen werden aus einer weiteren Tabelle ausgew&auml;hlt, deren Aussehen sp&auml;ter bei der Erstellung der Tabellen beschrieben wird.<\/p>\n<p><b>Weitere Tabellen<\/b><\/p>\n<p>Neben den genannten Tabellen gibt es eine Menge von Tabellen, die lediglich als Grundlage f&uuml;r Nachschlagefelder der Tabellen tblMitarbeiter und tblBeschaeftigungen dienen.<\/p>\n<p>Ein Beispiel ist die Tabelle tblPositionen, in der die verschiedenen Positionen des Unternehmens beschrieben werden, die ein Mitarbeiter besetzen kann. Das Aussehen dieser Tabellen wird ebenfalls weiter hinten beschrieben.<\/p>\n<p>Wenn Sie alle Vorbereitungen getroffen haben, also den SQL Server bzw. die MSDE installiert und gestartet haben, k&ouml;nnen Sie direkt mit dem Anlegen des Projektes beginnen.<\/p>\n<p>Dazu w&auml;hlen Sie direkt nach dem Starten von Access die Option Access-Datenbank-Assistenten, Seiten und Projekte aus und klicken auf die Schaltfl&auml;che OK (siehe Bild 2).<\/p>\n<p><IMG height=\"326\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic002.png\" width=\"353\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Anlegen eines neuen Projektes<\/span><\/b><\/p>\n<p>Im nun erscheinenden Dialog Neu w&auml;hlen Sie im Register Allgemein den Eintrag Projekt (Neue Datenbank) aus. Das bedeutet, dass Sie im SQL Server eine neue Datenbank f&uuml;r die Verwaltung der Mitarbeiterdaten anlegen und das aktuelle Access-Projekt als Frontend f&uuml;r diese Datenbank verwenden.<\/p>\n<p>Mit der Option Projekt (Bestehende Datenbank) k&ouml;nnen Sie ein neues Frontend f&uuml;r eine bestehende Datenbank erstellen.<\/p>\n<p>Im Fenster Neue Datenbankdatei w&auml;hlen Sie nun den Speicherort f&uuml;r die Projektdaten mit der Endung .adp aus.<\/p>\n<p>Im Anschluss daran legen Sie fest, auf welchem SQL Server die neue Datenbank angelegt werden soll und unter welchem Benutzernamen. Hier k&ouml;nnen Sie zun&auml;chst einmal den Benutzernamen sa w&auml;hlen, ohne ein Kennwort eingeben zu m&uuml;ssen (siehe Bild 3).<\/p>\n<p><IMG height=\"354\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic003.png\" width=\"487\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Auswahl des Datenbankservers und des Benutzernamens<\/span><\/b><\/p>\n<h3>Hinweis<\/h3>\n<p>Bei dem Benutzerkonto mit dem Benutzer sa handelt es sich um ein Standardkonto, das die Erstellung von Datenbanken und den Entwurf der unterschiedlichen Datenbankobjekte erlaubt. F&uuml;r die ersten Schritte ist dieses Konto praktikabel, Sie sollten aber schnellstm&ouml;glich ein neues Kennwort festlegen. Der Hintergrund ist, dass sonst beliebige andere Benutzer auf Ihre Datenbank zugreifen k&ouml;nnen. <\/p>\n<p><IMG height=\"290\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic004.png\" width=\"322\" border=\"0\"><\/p>\n<p><b>Im Kombinationsfeld im oberen Bereich des Fensters w&auml;hlen Sie den Rechner aus, auf dem sich der Datenbankserver befindet. M&ouml;glicherweise finden Sie hier keinen Eintrag vor: In diesem Fall sollten Sie &uuml;berpr&uuml;fen, ob der SQL Server auf dem gew&uuml;nschten Rechner gestartet ist. Sie erkennen das an dem Symbol f&uuml;r den SQL Server  im rechten Bereich der Taskleiste (siehe Bild 4).<\/b><\/p>\n<p><IMG height=\"168\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic005.png\" width=\"462\" border=\"0\"><\/p>\n<p><b>Mit einem Doppelklick auf das Symbol starten Sie den SQL Server-Dienst-Manager. Hier k&ouml;nnen Sie die unterschiedlichen Dienste des SQL Servers starten.<\/b><\/p>\n<p><IMG height=\"337\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic006.png\" width=\"500\" border=\"0\"><\/p>\n<p><b>Falls Sie die MSDE verwenden und auf dem lokalen Rechner installiert haben, erscheint statt des Rechnernamens der Eintrag (lokal).<\/b><\/p>\n<p><IMG height=\"468\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic007.png\" width=\"401\" border=\"0\"><\/p>\n<p><b>Wenn der  SQL Server ordnungsgem&auml;&szlig; gestartet ist und dennoch nicht angezeigt wird, geben Sie seinen Namen einfach von Hand ein. M&ouml;glicherweise hat Access den SQL Server noch nicht erkannt.<\/b><\/p>\n<p><IMG height=\"153\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic008.png\" width=\"500\" border=\"0\"><\/p>\n<p><b>Access schl&auml;gt automatisch einen Eintrag f&uuml;r den Namen der SQL Server-Datenbank vor. Diesen k&ouml;nnen Sie wahlweise &uuml;bernehmen oder einen anderen ausw&auml;hlen &#8211; im vorliegenden Fall soll die Datenbank Mitarbeiterverwaltung hei&szlig;en.<\/b><\/p>\n<p><IMG height=\"280\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic009.png\" width=\"500\" border=\"0\"><\/p>\n<p><b>Zwei Mausklicks weiter zeigt Access Ihnen die laufende Erstellung der neuen SQL Server-Datenbank an (siehe Bild 5).<\/b><\/p>\n<p><IMG height=\"249\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic010.png\" width=\"500\" border=\"0\"><\/p>\n<p><b>Fertig! Access empf&auml;ngt Sie mit dem Datenbankfenster des neuen Datenbankprojektes, dass fast wie das Datenbankfenster herk&ouml;mmlicher Access-Datenbanken aussieht. Aber auch nur fast, denn es enth&auml;lt keinen Eintrag mehr f&uuml;r die Abfragen, stattdessen aber f&uuml;r Sichten, Datenbankdiagramme und Gespeicherte Prozeduren. Was es mit diesen neuen Objekten auf sich hat, erfahren Sie in den n&auml;chsten Kapiteln.<\/b><\/p>\n<p><IMG height=\"334\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic011.png\" width=\"366\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Der Server-Dienst-Manager und sein Symbol in der Taskleiste<\/span><\/b><\/p>\n<p><IMG height=\"236\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic012.png\" width=\"222\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Die Erstellung der SQL Server-Datenbank l&auml;uft.<\/span><\/b><\/p>\n<p>Die Tabellenerstellung in Access-Projekten ist anders als in herk&ouml;mmlichen Access-Datenbanken. Der Grund liegt haupts&auml;chlich in der etwas anderen Struktur von SQL Server-Tabellen gegen&uuml;ber den Tabellen in Jet-Datenbanken.<\/p>\n<p><b>Erstellen der Tabelle tblMitarbeiter<\/b><\/p>\n<p>Der Unterschied der Tabellenerstellung wird direkt in der Entwurfsansicht einer neuen Tabelle deutlich, die Sie mit einem Doppelklick auf den Eintrag Erstellt eine Tabelle in der Entwurfsansicht im Register Tabellen des Datenbankfensters anzeigen k&ouml;nnen.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Eigenschaft<\/b><\/p>\n<\/td>\n<td>\n<p><b>Beschreibung<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Spaltenname<\/p>\n<\/td>\n<td>\n<p>Bezeichnung des Feldes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Datentyp<\/p>\n<\/td>\n<td>\n<p>Datentyp des Feldes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Gr&ouml;&szlig;e<\/p>\n<\/td>\n<td>\n<p>Vom Datentyp abh&auml;ngiger, reservierter Speicherplatz f&uuml;r den Feldinhalt. Kann in manchen F&auml;llen vom Benutzer festgelegt werden, z. B. bei Zeichenketten.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Genauigkeit<\/p>\n<\/td>\n<td>\n<p>Genauigkeit bestimmter Zahlendatentypen mit Nachkommastellen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Dezimalstellen<\/p>\n<\/td>\n<td>\n<p>Anzahl der Dezimalstellen, z. B. bei W&auml;hrungsangaben<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Null zulassen<\/p>\n<\/td>\n<td>\n<p>Gibt an, ob ein Wert f&uuml;r dieses Feld eingegeben werden muss.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Standardwert<\/p>\n<\/td>\n<td>\n<p>Wert, der beim Neuanlegen eines Datensatzes automatisch f&uuml;r das Feld angegeben wird. Verhindert das Auftreten von Null-Werten.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Identit&auml;t<\/p>\n<\/td>\n<td>\n<p>Entspricht etwa dem Autowert bei Access-Datenbanken.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>ID-Startwert<\/p>\n<\/td>\n<td>\n<p>Startwert des Autowertes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>ID-Schrittweite<\/p>\n<\/td>\n<td>\n<p>Schrittweite des Autowertes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Ist RowGUID<\/p>\n<\/td>\n<td>\n<p>Eine Spalte der Tabelle kann als RowGuid verwendet werden. Ein RowGuid ist ein global einzigartiger Wert, der z. B. f&uuml;r die Replikation und Synchronisation gebraucht wird.<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 1: Bestandteil einer Felddefinition<\/b><\/p>\n<p>Im Gegensatz zu Access-Datenbanken werden Sie hier direkt beim Anlegen der Datenbank dazu aufgefordert, den Tabellennamen anzugeben, unter dem die Tabelle gespeichert werden soll.<\/p>\n<p>Geben Sie den Namen tblMitarbeiter ein und werfen Sie dann einen Blick auf die Entwurfsansicht. Es fehlen nicht nur die Eigenschaften herk&ouml;mmlicher Datenbanken, es k&ouml;nnen auch keine Nachschlagefelder definiert werden. Daf&uuml;r enth&auml;lt das Entwurfsraster einige Felder, die &uuml;ber Feldname, Felddatentyp und Beschreibung hinausgehen. Tab. 1 enth&auml;lt eine Auflistung der Eigenschaften sowie ihrer Funktionen.<\/p>\n<h3>Festlegen eines Prim&auml;rindexfeldes<\/h3>\n<p>Als Erstes legen Sie ein Feld namens MitarbeiterID an. Dieses soll als Prim&auml;rindex der Tabelle dienen. Dazu geben Sie zun&auml;chst den Namen des Feldes ein.<\/p>\n<p>Bei der anschlie&szlig;enden Auswahl des Datentyps tritt das erste Problem auf: Das Kombinationsfeld bietet keinen Autowert an. Der Grund liegt da-rin, dass hier nur echte Datentypen angeboten werden. Der von Access-Datenbanken bekannte Autowert ist schlie&szlig;lich auch nur ein Long Integer-Wert, der von Datensatz zu Datensatz inkrementell erh&ouml;ht wird.<\/p>\n<p>Aber auch der Datentyp Long Integer l&auml;sst sich hier nicht finden. Der SQL Server verwendet fast durchg&auml;ngig andere oder anders benannte Datentypen als herk&ouml;mmliche Access-Datenbanken.<\/p>\n<p><!--30percent--><\/p>\n<p>Eine Beschreibung aller m&ouml;glichen Datentypen w&uuml;rde den Rahmen des vorliegenden Beitrags sprengen, daher werden in Tab. 2 nur die in der Beispieldatenbank verwendeten Datentypen erl&auml;utert. F&uuml;r eine ausf&uuml;hrliche Beschreibung verwenden Sie bitte die Online-Hilfe des SQL Servers und suchen nach dem Stichwort Datentypen.<\/p>\n<p>Um den Autowert mit dem SQL Server zu realisieren, stellen Sie die Feldeigenschaften wie in Bild 6 ein. Gleichzeitig k&ouml;nnen Sie auch die anderen Felder wie in der Abbildung anlegen.<\/p>\n<p><IMG height=\"111\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic013.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Entwurfsansicht der Tabelle tblMitarbeiter<\/span><\/b><\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Datentyp<\/b><\/p>\n<\/td>\n<td>\n<p><b>Beschreibung<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>bit<\/p>\n<\/td>\n<td>\n<p>Ganze Zahlen mit dem Wert 0 oder 1, auch f&uuml;r Ja\/Nein-Werte einzusetzen<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>int<\/p>\n<\/td>\n<td>\n<p>Ganze Zahlen von -232 bis 232-1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>smallint<\/p>\n<\/td>\n<td>\n<p>Ganze Zahlen von -215 bis 215-1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>tinyint<\/p>\n<\/td>\n<td>\n<p>Ganze Zahlen von 0 bis 255<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>char(n)<\/p>\n<\/td>\n<td>\n<p>Zeichenkette mit fester Zeichenzahl (Rest wird mit Leerzeichen aufgef&uuml;llt)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>varchar(n)<\/p>\n<\/td>\n<td>\n<p>Zeichenkette mit variabler Zeichenzahl<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>datetime<\/p>\n<\/td>\n<td>\n<p>Datumsangabe mit hoher Genauigkeit (3,33msek)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>smalldatetime<\/p>\n<\/td>\n<td>\n<p>Datumsangabe mit ausreichender Genauigkeit (1min)<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 2: Einige Datentypen und deren Verwendung<\/b><\/p>\n<p>Zu guter Letzt definieren Sie das Prim&auml;rschl&uuml;sselfeld noch als solches: Dazu markieren Sie wie bei Access-Datenbanken einfach das gew&uuml;nschte Feld und klicken mit der Maus auf das Prim&auml;rschl&uuml;ssel-Symbol.<\/p>\n<h3>Festlegen weiterer Indizes<\/h3>\n<p>Auch mit dem SQL Server k&ouml;nnen Sie neben dem Prim&auml;rindex noch weitere Indizes anlegen.<\/p>\n<p>Warum aber sollten Sie das eigentlich tun Es gibt mehrere Gr&uuml;nde: Neben der Eigenschaft als Prim&auml;rindex gibt es noch weitere Aufgaben, die Indizes erf&uuml;llen.<\/p>\n<p><IMG height=\"96\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic014.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Anlegen eines neuen Index<\/span><\/b><\/p>\n<p>Weitere Indizes dienen haupts&auml;chlich dazu, eindeutige Felder festzulegen und damit doppelte Eintr&auml;ge zu verhindern, oder einfach nur, um die Inhalte eines Feldes zu indizieren, damit Such- oder Sortiervorg&auml;nge optimiert werden k&ouml;nnen.<\/p>\n<p>Um weitere Indizes anzulegen, w&auml;hlen Sie in der Entwurfsansicht der Tabelle tblBeschaeftigungen aus dem Kontextmen&uuml; den Eintrag Eigenschaften aus.<\/p>\n<p>Wechseln Sie im nun erscheinenden Fenster (siehe Bild 7) in das Register Indizes\/Schl&uuml;ssel. Hier finden Sie bereits einen Index vor. Dabei handelt es sich um den Prim&auml;rindex, den Sie zuvor in der Entwurfsansicht festgelegt haben. Nun werden Sie zwei weitere Indizes anlegen.<\/p>\n<h3>Anlegen eines eindeutigen Index<\/h3>\n<p>Ein gutes Beispiel f&uuml;r einen eindeutigen Index ist das Feld E-Mail der Tabelle tblMitarbeiter. Es muss auf jeden Fall eindeutig sein, damit nicht zwei Mitarbeiter die gleiche E-Mail-Adresse haben.<\/p>\n<p><IMG height=\"281\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic015.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Eine Tabelle in der Datenblattansicht<\/span><\/b><\/p>\n<p>Mit einem Mausklick auf die Schaltfl&auml;che Neu legen Sie einen neuen Index an. Er erh&auml;lt automatisch den Namen IX_tblMitarbeiter. In der Tabelle Spaltenname w&auml;hlen Sie nun das zu indizierende Feld aus &#8211; also EMail. <\/p>\n<p>Um den Index als eindeutig zu kennzeichnen, m&uuml;ssen Sie noch folgende Einstellung vornehmen: Setzen Sie einen Haken in das Kontrollk&auml;stchen UNIQUE erstellen und w&auml;hlen Sie die Option Index aus. Um doppelte Werte auszuschlie&szlig;en, setzen Sie zus&auml;tzlich ein H&auml;kchen in das Kontrollk&auml;stchen Doppelte Schl&uuml;ssel ignorieren.<\/p>\n<h3>Anlegen eines Suchindex<\/h3>\n<p>Wenn Sie ein Feld als Suchindex festlegen m&ouml;chten, um schnell einen bestimmten Wert in diesem Feld zu finden, gehen Sie &auml;hnlich wie bei der Erstellung eines eindeutigen Schl&uuml;ssels vor.<\/p>\n<p>Um beispielsweise die Suche nach den Nachnamen von Mitarbeitern zu optimieren, legen Sie f&uuml;r dieses Feld einen neuen Index an. Sie sollten hier allerdings nicht das Kontrollk&auml;stchen UNIQUE erstellen markieren.<\/p>\n<p>Sie k&ouml;nnen allerdings die Option Als CLUSTERED erstellen aktivieren, um die Suche nochmals zu beschleunigen.<\/p>\n<p><b>Eingabe von Daten<\/b><\/p>\n<p>Die Eingabe von Daten in die Tabelle erfolgt in der Datenblattansicht der Tabelle. Da zur Eingabe eigentlich Formulare verwendet werden, soll hier nur kurz auf die Datenblattansicht von Tabellen eingegangen werden.<\/p>\n<p>Es gibt eigentlich nur zwei Unterschiede, die ins Auge fallen &#8211; und beide befinden sich in der Navigationsleiste. Die Schaltfl&auml;che mit dem Kreuz dient dem Abbruch einer Daten&uuml;bertragung, wenn diese zu lange dauert, und &uuml;ber die Schaltfl&auml;che mit dem Pfeil und dem Ausrufezeichen k&ouml;nnen Sie ein Steuerelement  &ouml;ffnen, um die maximale Anzahl gleichzeitig zu &uuml;bertragender Datens&auml;tze einzustellen (siehe Bild 8).<\/p>\n<p>Weitere Unterschiede sind nicht auf den ersten Blick ersichtlich: Beispielsweise k&ouml;nnen Sie keine Nachschlagefelder zur Auswahl von Daten aus verkn&uuml;pften Tabellen verwenden. Das ist aber auch nicht weiter schlimm, da der Anwender seine Daten ja ohnehin mit Hilfe geeigneter Formulare eingeben soll.<\/p>\n<p>Au&szlig;erdem werden keine &auml;nderungen am Layout der Tabellen gespeichert, die Sie von Access aus vornehmen.<\/p>\n<p><b>Erstellen der TabelletblBeschaeftigungen<\/b><\/p>\n<p>Die Tabelle tblBeschaeftigungen enth&auml;lt die Informationen zu einem oder mehreren Besch&auml;ftigungsverh&auml;ltnissen jedes Mitarbeiters.<\/p>\n<p>Daher muss die Tabelle tblBeschaeftigungen ein Feld enthalten, mit dem der gew&uuml;nschte Mitarbeiter aus der Tabelle tblMitarbeiter ausgew&auml;hlt werden kann. Der Name des Feldes lautet &#8211; genau wie das auszuw&auml;hlende Feld der verkn&uuml;pften Tabelle &#8211; MitarbeiterID. Dementsprechend m&uuml;ssen Sie auch den gleichen Datentyp ausw&auml;hlen. Legen Sie die Tabelle mit den in Bild 9 angegebenen Feldern an.<\/p>\n<p><b>Verkn&uuml;pfungen imDatenbankdiagramm erstellen<\/b><\/p>\n<p><IMG height=\"331\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic016.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Entwurfsansicht der Tabelle tblBeschaeftigungen<\/span><\/b><\/p>\n<p><IMG height=\"201\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic017.png\" width=\"390\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 10:  Ein (fast) frisches Datenbankdiagramm<\/span><\/b><\/p>\n<p>Sie haben bereits die Voraussetzungen geschaffen, um die beiden Tabellen tblMitarbeiter und tblBeschaeftigungen miteinander zu verkn&uuml;pfen. In einer Access-Datenbank k&ouml;nnten Sie nun bequem den Nachschlage-Assistenten  verwenden, um die Beziehung anzulegen. Die Eigenschaften der Beziehung k&ouml;nnten Sie dann im Beziehungsfenster bearbeiten und z. B. referenzielle Integrit&auml;t festlegen.<\/p>\n<p>In Projekten funktioniert das etwas anders. Hier verwenden Sie zur Definition von Beziehungen zwischen Tabellen ein so genanntes Datenbankdiagramm. <\/p>\n<p>Dazu schlie&szlig;en Sie zun&auml;chst die bereits erstellten Tabellen und legen ein neues Datenbankdiagramm an. Wechseln Sie im Datenbankfenster in das entsprechende Register und klicken Sie auf die Schaltfl&auml;che Neu.<\/p>\n<p>Es erscheint ein komplett leeres Fenster, das Sie nun f&uuml;llen m&uuml;ssen. Dazu klicken Sie mit der rechten Maustaste in den leeren Bereich und w&auml;hlen den Eintrag Tabelle anzeigen aus dem Kontextmen&uuml; aus.<\/p>\n<p>Da Sie erst die beiden Tabellen tblMitarbeiter und tblBeschaeftigungen erstellt haben, sind dort noch keine weiteren Eintr&auml;ge vorhanden. In Bild 10 sehen Sie das Datenbankdiagramm mit der Liste der vorhandenen Tabellen. Hier wurde bereits eine Tabelle in das Diagramm gezogen.<\/p>\n<p>Das Ziehen mit der Maus ist auch die einzige M&ouml;glichkeit, um eine Tabelle aus der Liste in das Diagramm zu bewegen. Dar&uuml;ber hinaus ist es nicht m&ouml;glich, mehrere Tabellen gleichzeitig in das Datenbankdiagramm zu ziehen. <\/p>\n<p>Ziehen Sie nun beide vorhandenen Tabellen in das Diagramm.<\/p>\n<h3>Vor- und Nachteile vonDatenbankdiagrammengegen&uuml;ber dem Beziehungsfenster<\/h3>\n<p>Es gibt einige Faktoren, die Datenbankdiagramme benutzerfreundlicher erscheinen lassen als das von Access-Datenbanken bekannte Beziehungsfenster:<\/p>\n<li>Sie k&ouml;nnen mehrere Tabellen markieren und gleichzeitig an eine andere Position verschieben.<\/li>\n<li>Sie k&ouml;nnen Tabellen innerhalb des Diagramms neu erstellen, bearbeiten und l&ouml;schen.<\/li>\n<li>Sie k&ouml;nnen die Tabellen in unterschiedlichen Ansichten anzeigen.<\/li>\n<li>Ein wesentlicher Nachteil gegen&uuml;ber dem Beziehungsfenster ist allerdings, dass Beziehungspfeile wahllos an die Tabellen gesetzt werden und nicht auf die an der Beziehung beteiligten Felder zeigen &#8211; dazu sp&auml;ter mehr.<\/li>\n<h3>Verkn&uuml;pfung erstellen<\/h3>\n<p>Nach dem theoretischen Hintergrund geht es nun an die Praxis: Wenn Sie die beiden Tabellen nebeneinander im Datenbankdiagramm platziert haben, k&ouml;nnen Sie direkt eine Beziehung zwischen den beiden Tabellen erstellen.<\/p>\n<p>Dazu klicken Sie in der Tabelle tblBeschaeftigungen auf das Feld MitarbeiterID, &uuml;ber das die Beziehung zur Tabelle tblMitarbeiter hergestellt werden soll &#8211; und zwar auf das graue K&auml;stchen links vom Feldnamen. Halten Sie die linke Maustaste gedr&uuml;ckt und ziehen Sie die Verbindungslinie an einen beliebigen Punkt in der Tabelle tblMitarbeiter.<\/p>\n<p>Access sollte automatisch eine Beziehung zwischen den beiden gleichnamigen Feldern erstellen (siehe Bild 11). Falls das aus irgendwelchen Gr&uuml;nden nicht der Fall sein sollte, k&ouml;nnen Sie die gew&uuml;nschten Felder im Fenster Beziehung erstellen manuell ausw&auml;hlen.<\/p>\n<p><IMG height=\"150\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic018.png\" width=\"390\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 11:  Eigenschaften einer neu erstellten Beziehung<\/span><\/b><\/p>\n<p>In dem Fenster sind drei Eigenschaften voreingestellt, die kurz erl&auml;utert werden sollen:<\/p>\n<li>Vorhandene Daten bei Erstellung pr&uuml;fen: Wenn diese Option aktiviert ist, werden die vorhandenen Daten dahingehend &uuml;berpr&uuml;ft, ob das Verkn&uuml;pfungsfeld der Fremdschl&uuml;sseltabelle Werte enth&auml;lt, die in der Prim&auml;rschl&uuml;sseltabelle nicht enthalten sind.<\/li>\n<li>Beziehung f&uuml;r INSERT und UPDATE aktivieren: Wenn diese Option aktiviert ist, werden neue Werte des Fremdschl&uuml;sselfeldes dahingehend &uuml;berpr&uuml;ft, ob der eingegebene Schl&uuml;ssel in der Prim&auml;rschl&uuml;sseltabelle enthalten ist. Falls Sie sp&auml;ter L&ouml;sch- oder Aktualisierungsweitergaben per Trigger definieren m&ouml;chten, deaktivieren Sie diese Option.<\/li>\n<li>Beziehung f&uuml;r Replikation aktivieren: Diese Option ist nur in Zusammenhang mit Replikationen interessant und soll nicht weiter erl&auml;utert werden.<\/li>\n<p>Nachdem Sie die gew&uuml;nschten Optionen gew&auml;hlt haben, k&ouml;nnen Sie die Eigenschaften erneut aufrufen, indem Sie im Kontextmen&uuml; des Verkn&uuml;pfungspfeils den Eintrag Eigenschaften ausw&auml;hlen und dort in das Register Beziehungen wechseln. &uuml;ber das Kontextmen&uuml; k&ouml;nnen Sie au&szlig;erdem die Verkn&uuml;pfung l&ouml;schen.<\/p>\n<p>In diesem Eigenschaftsfenster gibt es nur einen Unterschied: Sie k&ouml;nnen &uuml;ber ein Kombinationsfeld direkt die Eigenschaften anderer Verkn&uuml;pfungen aufrufen.<\/p>\n<h3>Praxis-Tipp<\/h3>\n<p>Wenn das Eigenschaftsfenster ge&ouml;ffnet ist, k&ouml;nnen Sie durch einen Mausklick auf andere Elemente auch deren Eigenschaften anzeigen. Sie m&uuml;ssen das Eigenschaftsfenster nicht erst schlie&szlig;en und von einem anderen Objekt aus erneut &ouml;ffnen. <\/p>\n<p><b>Tabellen im Datenbankdiagramm erstellen<\/b><\/p>\n<p>Um eine Tabelle neu zu erstellen, m&uuml;ssen Sie nicht jedes Mal vom Datenbankfenster aus eine neue Tabelle anlegen. Sie k&ouml;nnen das auch direkt im Datenbankdiagramm erledigen.<\/p>\n<h3>Erstellen der Tabelle tblProjekte<\/h3>\n<p>Beginnen Sie mit der Tabelle tblProjekte. Klicken Sie mit der rechten Maustaste auf eine leere Stelle im Datenbankdiagramm und w&auml;hlen Sie den Eintrag Neue Tabelle aus (siehe Bild 12).<\/p>\n<p>Geben Sie den Tabellennamen ein und legen Sie die Tabelle entsprechend Bild 13 an.<\/p>\n<p><IMG height=\"184\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic019.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 12:  Anlegen einer neuen Tabelle<\/span><\/b><\/p>\n<p><IMG height=\"172\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic020.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 13:  Entwurfsansicht der Tabelle tblProjekte<\/span><\/b><\/p>\n<p><IMG height=\"172\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic021.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 14:  Entwurfsansicht der Tabelle tblMitarbeiterProjekte<\/span><\/b><\/p>\n<p>Die Tabelle wird im Datenbankdiagramm zun&auml;chst in der Entwurfsansicht angezeigt. Nach der Eingabe der Felder k&ouml;nnen Sie im Kontextmen&uuml; den Eintrag Spaltenname ausw&auml;hlen, um nur die Feldnamen anzuzeigen. Bei Bedarf k&ouml;nnen Sie auch einmal die anderen Ansichten ausprobieren.<\/p>\n<h3>Erstellen der Tabelle tblMitarbeiterProjekte<\/h3>\n<p>Als n&auml;chstes ben&ouml;tigen Sie noch die Tabelle zur Verkn&uuml;pfung der Tabellen tblMitarbeiter und tblProjekte.<\/p>\n<p>Sie enth&auml;lt neben den beiden Verkn&uuml;pfungsfeldern MitarbeiterID und ProjekteID noch ein Feld namens FunktionID zur Auswahl einer Funktion.<\/p>\n<p>Legen Sie f&uuml;r die beiden Felder MitarbeiterID und ProjektID einen zusammengesetzten Prim&auml;rschl&uuml;ssel an. So gehen Sie sicher, dass jeder Mitarbeiter nur einmal mit jedem Projekt verkn&uuml;pft werden kann (siehe Bild 14).<\/p>\n<h3>Praxis-Tipp<\/h3>\n<p>Um einen mehrspaltigen Index in der Entwurfsansicht festzulegen, halten Sie die Strg-Taste gedr&uuml;ckt und w&auml;hlen Sie mit der Maus die gew&uuml;nschten Felder aus. Um einen Prim&auml;rindex festzulegen, klicken Sie anschlie&szlig;end auf die entsprechende Schaltfl&auml;che. Andere Indizes k&ouml;nnen Sie auch im Eigenschaftsfenster der Tabelle erstellen. <\/p>\n<h3>Herstellen der m:n-Beziehung<\/h3>\n<p>Um die m:n-Beziehung zu realisieren, m&uuml;ssen Sie noch jeweils eine Verkn&uuml;pfung von der Tabelle tblMitarbeiterProjekte zu den Tabellen tblMit-arbeiter und tblProjekte erstellen. Dabei dienen die Felder MitarbeiterID und ProjektID der Tabelle tblMitarbeiterProjekte als Fremdschl&uuml;ssel. Stellen Sie die Verkn&uuml;pfungen wie oben beschrieben her.<\/p>\n<h3>Erstellen weiterer Tabellen und Beziehungen<\/h3>\n<p>Um das Datenmodell zu vervollst&auml;ndigen, ben&ouml;tigen Sie noch einige Tabellen mit Detaildaten zu den Haupttabellen. Dabei handelt es sich um die Tabellen tblFunktionen, tblBriefanreden, tblTextanreden, tblTitel, tblGeschlecht, tblPositionen und tblProjektfunktion. Die Tabellen sind alle gleich  aufgebaut und bestehen aus einem Prim&auml;rindexfeld sowie einem Feld mit einer Bezeichnung. Sie sind wie in Bild 15 mit den anderen Tabellen verkn&uuml;pft. Achtung: Die Abbildung ist eine Montage. Versuchen Sie nicht, das Diagramm mit Access nachzubauen &#8211; Sie werden es nicht schaffen.<\/p>\n<p><IMG height=\"172\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic022.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 15:  &uuml;bersicht &uuml;ber alle Tabellen und Beziehungen<\/span><\/b><\/p>\n<p>Die von Access-Datenbanken bekannten Abfragen k&ouml;nnen als Auswahl-, Parameter-, Aktualisierungs-, L&ouml;sch-, Anf&uuml;ge- und Tabellenerstellungsabfragen verwendet werden.<\/p>\n<p>In Access-Projekten ist es ein wenig anders. Abfragen werden hier durch Sichten und Gespeicherte Prozeduren ersetzt.<\/p>\n<p>Sichten &uuml;bernehmen dabei die Aufgabe, Ausschnitte aus einer oder mehreren verkn&uuml;pften Tabellen anzuzeigen. Dabei bedeutet Ausschnitt zun&auml;chst einmal, dass nicht alle, sondern nur ausgew&auml;hlte Felder angezeigt werden. Zus&auml;tzlich k&ouml;nnen nat&uuml;rlich auch die Datens&auml;tze nach bestimmten Kriterien ausgew&auml;hlt werden.<\/p>\n<p>Sie erstellen nun eine Sicht, die sp&auml;ter als Datenherkunft f&uuml;r ein Formular dienen wird. Dazu klicken Sie im Register Sichten des Datenbankfensters auf die Schaltfl&auml;che Neu.<\/p>\n<p>Auf den ersten Blick ergeben sich einige Unterschiede zum Abfrageentwurf einer Access-Datenbank. Zum Beispiel werden die Felder nicht nebeneinander, sondern &uuml;bereinander im Entwurfsraster abgelegt.<\/p>\n<p>Und auch das Fenster zum Ausw&auml;hlen der gew&uuml;nschten Tabellen muss nicht geschlossen werden, um am Entwurf der Sicht zu arbeiten (siehe Bild 16).<\/p>\n<p>Ziehen Sie dann aus dem Fenster Tabelle anzeigen die Tabelle tblMitarbeiter in den oberen Teil des Entwurfsfensters.<\/p>\n<p>Nun k&ouml;nnen Sie die gew&uuml;nschten Felder in das Entwurfsraster einf&uuml;gen, indem Sie entweder das Kontrollk&auml;stchen neben dem Feldnamen aktivieren oder einfach den Feldnamen mit der Maus in das Entwurfsraster ziehen.<\/p>\n<p>Wiederholen Sie den Vorgang f&uuml;r alle Felder mit Ausnahme der letzten vier. Diese werden im Formular nicht ben&ouml;tigt, sie dienen lediglich internen Zwecken.<\/p>\n<h3>Praxis-Tipp<\/h3>\n<p>Sie sollten die Sichten und gespeicherten Prozeduren dahingehend auslegen, nur die wirklich ben&ouml;tigten Daten vom Server auf den Client zu transportieren. Damit reduzieren Sie die Menge der zu &uuml;bertragenden Daten und damit die verwendeten Ressourcen. <\/p>\n<p>Speichern Sie die Sicht unter dem Namen  vwMitarbeiterDetail.<\/p>\n<p><IMG height=\"172\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic023.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 16:  Erstellen einer Sicht<\/span><\/b><\/p>\n<p>Gespeicherte Prozeduren k&ouml;nnen als Parameter- oder Aktionsabfragen dienen &#8211; und noch viel mehr. Es handelt sich dabei um richtige Prozeduren, die mehrere Befehle enthalten. Dabei k&ouml;nnen die Befehle durchaus durch If-Then-Gebilde usw. strukturiert werden. Dabei verwenden Sie die Sprache Transact SQL. In den folgenden Abschnitten lernen Sie einige Beispiele f&uuml;r gespeicherte Prozeduren und f&uuml;r eine spezielle Form der gespeicherten Prozedur &#8211; dem so genannten Trigger &#8211; kennen.<\/p>\n<p><b>Gespeicherte Prozeduren<\/b><\/p>\n<p>Um eine gespeicherte Prozedur anzulegen, wechseln Sie im Datenbankfenster in das entsprechende Register und klicken auf die Schaltfl&auml;che Neu.<\/p>\n<p>Daraufhin &ouml;ffnet sich ein Fenster mit einer neuen gespeicherten Prozedur (siehe Bild 17). Genau genommen handelt es sich hierbei nicht um die gespeicherte Prozedur selbst, sondern um die Anweisung zu  ihrer Erstellung.<\/p>\n<p>Mit den Zeichen \/* und *\/ k&ouml;nnen Sie mehrzeilige Kommentare einschlie&szlig;en, und mit &#8212; leiten Sie einzeilige Kommentare ein.<\/p>\n<p><IMG height=\"172\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic024.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 17:  Eine jungfr&auml;uliche gespeicherte Prozedur<\/span><\/b><\/p>\n<p>Der eingeklammerte Bereich dient zur Angabe von  Ein- und Ausgabeparametern der Prozedur.<\/p>\n<p>Zwischen den Schl&uuml;sselw&ouml;rtern As und return findet der eigentliche Prozedurk&ouml;rper Platz.<\/p>\n<h3>Hinweis<\/h3>\n<p>F&uuml;r weitere grundlegende Hinweise &uuml;ber gespeicherte Prozeduren oder die hier verwendete Programmiersprache Transact SQL ziehen Sie bitte weiterf&uuml;hrende Fachliteratur zu Rate. In den folgenden Beispielen erfahren Sie allerdings einige praktische Hinweise zu dem Thema. <\/p>\n<h3>Prozedur zur Ausgabe von Besch&auml;ftigungsdaten<\/h3>\n<p>Sie werden nun direkt Ihre erste eigene gespeicherte Prozedur mit einem Eingabeparameter erstellen. Die Prozedur soll alle Besch&auml;ftigungszeitr&auml;ume zu einem Mitarbeiter ausgeben. Die MitarbeiterID wird der Prozedur als Parameter &uuml;bergeben. &auml;ndern Sie die jungfr&auml;uliche Prozedur so, wie in Bild 18 angegeben, ab.<\/p>\n<h3>Hinweis<\/h3>\n<p>Die Abbildung zeigt eine bereits gespeicherte und damit auf dem SQL Server erstellte Prozedur an. Daher &auml;ndert sich das erste Wort der Prozedur von Create auf Alter, da bei folgenden &auml;nderungen keine neue gespeicherte Prozedur mehr erstellt wird, sondern die ge&auml;nderte Prozedur &uuml;ber die vorhandene gespeichert wird. <\/p>\n<p><IMG height=\"172\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic025.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 18:  Gespeicherte Prozedur mit Eingabeparameter<\/span><\/b><\/p>\n<p>Wenn Sie nun in die Datenblattansicht wechseln, wird direkt die Funktionalit&auml;t der gespeicherten Prozedur deutlich: Es erscheint zun&auml;chst ein Dialog zur Abfrage der MitarbeiterID. Anschlie&szlig;end erhalten Sie als Ergebnis ein Tabellenblatt mit den gew&uuml;nschten Daten.<\/p>\n<p>Sp&auml;ter werden Sie diese oder &auml;hnliche gespeicherte Prozeduren als Datenherkunft f&uuml;r Formulare verwenden und Prozeduren kennen lernen, die den Gro&szlig;teil der Datenoperationen auf dem Server ablaufen lassen werden.<\/p>\n<p><b>Trigger<\/b><\/p>\n<p>Trigger sind gespeicherte Prozeduren, die fest mit einer Tabelle verkn&uuml;pft sind und bei einer oder mehreren der drei Aktionen Anf&uuml;gen, &auml;ndern oder L&ouml;schen von Daten einer Tabelle erfolgen.<\/p>\n<p>In den Tabellen tblMitarbeiter und tblBeschaeftigungen beziehen sich die letzten vier Felder auf die Erstellung und letzte &auml;nderung des Datensatzes. Sie lernen nun zun&auml;chst einen Trigger kennen, der beim Anf&uuml;gen eines neuen Datensatzes automatisch die entsprechenden Felder der Tabelle tblMitarbeiter aktualisiert.<\/p>\n<h3>Anlegen eines Triggers zum Anlegen von Erstellungs- und &auml;nderungsdaten<\/h3>\n<p>Um einen Trigger anzulegen, &ouml;ffnen Sie im Datenbankfenster das Kontextmen&uuml; der gew&uuml;nschten Tabelle und w&auml;hlen den Eintrag Trigger&#8230; aus. Klicken Sie im nun erscheinenden Fenster auf die Schaltfl&auml;che Neu, um einen neuen Trigger zu erstellen.<\/p>\n<h3>Hinweis<\/h3>\n<p>Wenn Sie sp&auml;ter einen Trigger bearbeiten oder l&ouml;schen m&ouml;chten, w&auml;hlen Sie den gew&uuml;nschten Trigger aus und bet&auml;tigen die entsprechende Schaltfl&auml;che. <\/p>\n<p>Erstellen Sie auf diese Weise zun&auml;chst einen Trigger f&uuml;r die Tabelle tblMitarbeiter.<\/p>\n<p>&auml;ndern Sie den Inhalt des nun erscheinenden Trigger-Fensters wie in Bild 19 ab.<\/p>\n<p>Die Zeile For Insert besagt, dass der Trigger beim Einf&uuml;gen eines Datensatzes ausgel&ouml;st wird. Die nachfolgenden Zeilen stellen prinzipiell eine herk&ouml;mmliche Update-Anweisung dar. Hier werden in die beiden Felder ErstelltAm und GeaendertAm das aktuelle Datum und in die Felder ErstelltDurch und GeaendertDurch der Name des aktuellen Benutzers hinzugef&uuml;gt.<\/p>\n<p><IMG height=\"172\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic026.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 19:  Trigger zum Einf&uuml;gen der Bearbeitungsdaten eines neuen Datensatzes<\/span><\/b><\/p>\n<p><IMG height=\"172\" src=\"..\/fileadmin\/_temp_\/{93FC47C7-D139-4BBC-9D0A-E3E9E8D71616}\/pic027.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 20:  Trigger zum Aktualisieren der Bearbeitungsdaten eines ge&auml;nderten Datensatzes<\/span><\/b><\/p>\n<p>Zur Ermittlung des aktuellen Benutzers greifen Sie auf die Tabelle sysprocesses der Master-Datenbank des SQL Servers zu. Sie ermitteln zun&auml;chst mit der Funktion @@SPID die Nummer des aktuellen Serverprozesses und ziehen dann den Namen des ausf&uuml;hrenden Benutzers aus der Tabelle.<\/p>\n<p>Die Funktion GETDATE() liefert das aktuelle Systemdatum.<\/p>\n<p>Um die Funktion auszuprobieren, legen Sie am besten direkt einmal einen neuen Mitarbeiter an. Sobald Sie den Datensatz speichern, f&uuml;gt der Trigger die entsprechenden Daten hinzu.<\/p>\n<h3>Anlegen eines Triggers zum Aktualisieren von &auml;nderungsdaten<\/h3>\n<p>Nach dem Speichern des Triggers legen Sie direkt noch einen weiteren Trigger f&uuml;r die gleiche Tabelle an, der beim Aktualisieren eines Da-tensatzes der Tabelle ausgel&ouml;st wird (siehe Bild 20).<\/p>\n<p>Der Trigger funktioniert prinzipiell wie der erste, allerdings wird er bei einer &auml;nderung des Datensatzes ausgel&ouml;st &#8211; daher die Zeile For Update.<\/p>\n<p>Die &uuml;berpr&uuml;fung, ob eines der Felder ErstelltAm, ErstelltDurch, GeaendertAm oder GeaendertDurch ge&auml;ndert wurde, hat folgenden Grund:<\/p>\n<p>Der Trigger wird bei jeder &auml;nderung aufgerufen, also beispielsweise auch, wenn der zuvor beschriebene Trigger die Erstellungsdaten anpasst.<\/p>\n<p>Damit die Daten nicht zweimal angepasst werden, schlie&szlig;t der Trigger diesen Fall aus.<\/p>\n<h3>Trigger f&uuml;r dieL&ouml;schweitergabe<\/h3>\n<p>In Access-Datenbanken k&ouml;nnen Sie f&uuml;r die referenzielle Integrit&auml;t zus&auml;tzlich die L&ouml;sch- und Aktualisierungsweitergabe definieren. Das bedeutet, dass z. B. alle mit einem Mitarbeiter verbundenen Besch&auml;ftigungsverh&auml;ltnisse gel&ouml;scht werden, wenn der Mitarbeiter selbst gel&ouml;scht wird.<\/p>\n<p>Eine Aktualisierungsweitergabe bewirkt, dass eine &auml;nderung an einem Prim&auml;rschl&uuml;ssel einer Tabelle automatisch an alle Fremdschl&uuml;ssel verkn&uuml;pfter Tabellen weitergegeben wird.<\/p>\n<p>Um eine L&ouml;sch- oder Aktualisierungsweitergabe zu realisieren, m&uuml;ssen Sie f&uuml;r die Beziehung zwischen den beiden betroffenen Tabellen die Eigenschaft Beziehung f&uuml;r Insert und Update aktivieren ausschalten.<\/p>\n<p>Ein Trigger zur Weitergabe eines L&ouml;schvorgangs von der Tabelle tblMitarbeiter zur Tabelle tblBeschaeftigungen k&ouml;nnte beispielsweise folgenderma&szlig;en aussehen:<\/p>\n<pre>Create Trigger trgMitarbeiter_Delete\r\nOn dbo.tblMitarbeiter\r\nFor Delete As\r\nSET NOCOUNT ON\r\nDELETE tblBeschaeftigungen\r\nFROM tblBeschaeftigungen\r\nINNER JOIN Deleted\r\nON tblBeschaeftigungen.MitarbeiterID = Deleted.MitarbeiterID<\/pre>\n<p>Im vorliegenden Beitrag haben Sie eine Datenbank auf Basis der MSDE erstellt, einige Tabellen angelegt, Beziehungen zwischen den Tabellen definiert und einen ersten Kontakt mit gespeicherten Prozeduren und Triggern gehabt.<\/p>\n<p>Damit haben Sie die Grundvoraussetzungen f&uuml;r den Ausbau der Datenbank zu einer kompletten Anwendung auf SQL Server-Basis geschaffen.<\/p>\n<p>In der folgenden Ausgabe von Access im Unternehmen erfahren Sie, welche Eigenarten die Entwicklung von Formularen in Zusammenhang mit dem SQL Server hat, und lernen dabei weitere gespeicherte Prozeduren und Trigger kennen.<\/p>\n<p>Au&szlig;erdem werden Sie den einen oder anderen Bericht zur Ausgabe der Mitarbeiterdaten der Mitarbeiterverwaltung erstellen.<\/p>\n<p>Sie sollen allerdings nicht so mit Ihrem zu einer fertigen Tabellendefinition umgewandelten Datenmodell  im Regen stehen gelassen werden.<\/p>\n<p>Daher k&ouml;nnen Sie sich bereits einen kleinen Ausblick auf die Anwendung selbst verschaffen. Sie befindet sich wie alle anderen Musterl&ouml;sungen auf der beiliegenden CD.<\/p>\n<p>Allerdings ist es bei einer Datenbankanwendung, deren Backend auf dem SQL Server basiert, nicht mit einfachem Kopieren von der Heft-CD auf die Festplatte getan.<\/p>\n<p>Daher erfahren Sie in den n&auml;chsten Abschnitten noch, wie Sie die Datenbank auf Ihrem Rechner zum Laufen bringen.<\/p>\n<p>Zun&auml;chst sollten Sie jedoch sicherstellen, dass die MSDE ordnungsgem&auml;&szlig; installiert ist und l&auml;uft. Anschlie&szlig;end kopieren Sie einige Dateien von der CD auf die Festplatte, und zwar:<\/p>\n<li>die Projektdatei Mitarbeiterverwaltung.mdb<\/li>\n<li>die Datei Mitarbeiterverwaltung.sql<\/li>\n<p>Anschlie&szlig;end erstellen Sie ein neues Access-Projekt und verbinden es wie vorne beschrieben mit der MSDE. Dann folgen noch zwei Schritte:<\/p>\n<li>das Importieren der Objekte des Frontend aus der Datenbank Mitarbeiterverwaltung.mdb<\/li>\n<li>das Erstellen der Tabellen, Sichten, gespeicherten Prozeduren usw. &#8211; also der Objekte des Backend.<\/li>\n<li>Das Importieren der Formulare aus der Datenbankdatei Mitarbeiterverwaltung.mdb soll hier nicht weiter beschrieben werden.<\/li>\n<li>Interessanter ist das Erstellen der Tabellenstruktur anhand eines Skriptes:<\/li>\n<li>Dazu verwenden Sie das Kommandozeilentool OSQL. Es wird mit der MSDE mitgeliefert und befindet sich Verzeichnis MSSQL7\\Binn\\ unter dem Laufwerksbuchstaben, unter dem Sie die MSDE installiert haben.<\/li>\n<li>&ouml;ffnen Sie eine Eingabeaufforderung und geben Sie die folgende Anweisung an:<\/li>\n<pre>osql -S &lt;Servername&gt; -U &lt;Benutzername&gt; -P &lt;Passwort&gt; -d &lt;Name der SQL-Datenbank&gt; -i &lt;SQL-Skript&gt;<\/pre>\n<p>F&uuml;r den Servernamen geben Sie den Namen des Servers an, auf dem die MSDE l&auml;uft. Als Benutzernamen verwenden Sie in der Regel sa &#8211; sofern dieser nicht mit einem Passwort versehen ist oder Sie das Passwort kennen. Als Namen der SQL-Datenbank benutzen Sie den Namen, unter dem Sie soeben die neue SQL-Server-Datenbank angelegt haben &#8211; also beispielsweise MitarbeiterverwaltungSQL. Und f&uuml;r den Platzhalter &lt;SQL-Skript&gt; geben Sie den Pfad zur Datei Mitarbeiterverwaltung.sql inklusive Dateinamen an.<\/p>\n<p>Zusammengefasst k&ouml;nnte der Befehl beispielsweise folgenderma&szlig;en aussehen:<\/p>\n<pre>osql -S herakles -U minhorst -p geheim -d MitarbeiterverwaltungSQL -i c:\\skripte\\Mitarbeiterverwaltung.sql<\/pre>\n<p>Anschlie&szlig;end k&ouml;nnen Sie direkt mit der Eingabe einiger Testdaten beginnen und die Anwendung ausprobieren.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Mitarbeiterverwaltung00.mdb<\/p>\n<p>Skript.sql<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/18067B5B-A49F-4A94-BBD5-C8DBB40C624F\/aiu_44.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je gr&ouml;&szlig;er ein Unternehmen ist, desto mehr Daten f&uuml;r Kunden, Mitarbeiter, Gesch&auml;ftspartner und so weiter gibt es zu verwalten. Dabei w&auml;chst der Aufwand zum Beispiel zur Verwaltung der Mitarbeiterdaten mit steigender Mitarbeiterzahl. Dummerweise befinden sich in vielen F&auml;llen l&auml;ngst nicht alle Informationen &uuml;ber einen Mitarbeiter an einer Stelle und vor allem sind die Daten meist &ouml;fters als nur einmal vorhanden. So pflegt die Buchhaltung Ihre eigenen Daten, und auch die Personalverwaltung kocht ihr eigenes S&uuml;ppchen. Zus&auml;tzlich erschwert das Vorhandensein verschiedener Anwendungen die Datenhaltung und f&uuml;hrt damit zu unterschiedlichen Problemen. Das k&ouml;nnen Sie verhindern, wenn Sie die Daten an einer einzigen Stelle halten und pflegen, zum Beispiel mit einer gut organisierten Datenbank.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662001,66072001,44000027,44000022],"tags":[],"class_list":["post-55000044","post","type-post","status-publish","format-standard","hentry","category-662001","category-66072001","category-Loesungen","category-SQL_Server_und_Co"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Mitarbeiterverwaltung mit der MSDE - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mitarbeiterverwaltung mit der MSDE\" \/>\n<meta property=\"og:description\" content=\"Je gr&ouml;&szlig;er ein Unternehmen ist, desto mehr Daten f&uuml;r Kunden, Mitarbeiter, Gesch&auml;ftspartner und so weiter gibt es zu verwalten. Dabei w&auml;chst der Aufwand zum Beispiel zur Verwaltung der Mitarbeiterdaten mit steigender Mitarbeiterzahl. Dummerweise befinden sich in vielen F&auml;llen l&auml;ngst nicht alle Informationen &uuml;ber einen Mitarbeiter an einer Stelle und vor allem sind die Daten meist &ouml;fters als nur einmal vorhanden. So pflegt die Buchhaltung Ihre eigenen Daten, und auch die Personalverwaltung kocht ihr eigenes S&uuml;ppchen. Zus&auml;tzlich erschwert das Vorhandensein verschiedener Anwendungen die Datenhaltung und f&uuml;hrt damit zu unterschiedlichen Problemen. Das k&ouml;nnen Sie verhindern, wenn Sie die Daten an einer einzigen Stelle halten und pflegen, zum Beispiel mit einer gut organisierten Datenbank.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-10T19:59:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg01.met.vgwort.de\/na\/6181e3895dbb455c9348c0673e829546\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"30\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Mitarbeiterverwaltung mit der MSDE\",\"datePublished\":\"2021-02-10T19:59:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/\"},\"wordCount\":5920,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/6181e3895dbb455c9348c0673e829546\",\"articleSection\":[\"2001\",\"7\\\/2001\",\"L\u00f6sungen\",\"SQL Server und Co.\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/\",\"name\":\"Mitarbeiterverwaltung mit der MSDE - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/6181e3895dbb455c9348c0673e829546\",\"datePublished\":\"2021-02-10T19:59:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/6181e3895dbb455c9348c0673e829546\",\"contentUrl\":\"http:\\\/\\\/vg01.met.vgwort.de\\\/na\\\/6181e3895dbb455c9348c0673e829546\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Mitarbeiterverwaltung_mit_der_MSDE\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mitarbeiterverwaltung mit der MSDE\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Mitarbeiterverwaltung mit der MSDE - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/","og_locale":"de_DE","og_type":"article","og_title":"Mitarbeiterverwaltung mit der MSDE","og_description":"Je gr&ouml;&szlig;er ein Unternehmen ist, desto mehr Daten f&uuml;r Kunden, Mitarbeiter, Gesch&auml;ftspartner und so weiter gibt es zu verwalten. Dabei w&auml;chst der Aufwand zum Beispiel zur Verwaltung der Mitarbeiterdaten mit steigender Mitarbeiterzahl. Dummerweise befinden sich in vielen F&auml;llen l&auml;ngst nicht alle Informationen &uuml;ber einen Mitarbeiter an einer Stelle und vor allem sind die Daten meist &ouml;fters als nur einmal vorhanden. So pflegt die Buchhaltung Ihre eigenen Daten, und auch die Personalverwaltung kocht ihr eigenes S&uuml;ppchen. Zus&auml;tzlich erschwert das Vorhandensein verschiedener Anwendungen die Datenhaltung und f&uuml;hrt damit zu unterschiedlichen Problemen. Das k&ouml;nnen Sie verhindern, wenn Sie die Daten an einer einzigen Stelle halten und pflegen, zum Beispiel mit einer gut organisierten Datenbank.","og_url":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-10T19:59:00+00:00","og_image":[{"url":"http:\/\/vg01.met.vgwort.de\/na\/6181e3895dbb455c9348c0673e829546","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"30\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Mitarbeiterverwaltung mit der MSDE","datePublished":"2021-02-10T19:59:00+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/"},"wordCount":5920,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/6181e3895dbb455c9348c0673e829546","articleSection":["2001","7\/2001","L\u00f6sungen","SQL Server und Co."],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/","url":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/","name":"Mitarbeiterverwaltung mit der MSDE - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/#primaryimage"},"thumbnailUrl":"http:\/\/vg01.met.vgwort.de\/na\/6181e3895dbb455c9348c0673e829546","datePublished":"2021-02-10T19:59:00+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/#primaryimage","url":"http:\/\/vg01.met.vgwort.de\/na\/6181e3895dbb455c9348c0673e829546","contentUrl":"http:\/\/vg01.met.vgwort.de\/na\/6181e3895dbb455c9348c0673e829546"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Mitarbeiterverwaltung_mit_der_MSDE\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Mitarbeiterverwaltung mit der MSDE"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000044"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000044\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}