{"id":55000092,"date":"2003-02-01T00:00:00","date_gmt":"2021-02-10T20:19:56","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=92"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Aufgabenverwaltung_mit_Access","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/","title":{"rendered":"Aufgabenverwaltung mit Access"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/1e66a988f0fe45a39c4dd012a74d5feb\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Die Organisation der eigenen Aufgaben ist nicht immer leicht &#8211; vor allem, wenn man sich nicht nur mit einer, sondern mit mehreren Aufgaben gleichzeitig besch&auml;ftigt. Noch schwieriger wird es, wenn die Aufgaben ganzer Projektteams koordiniert werden wollen &#8211; nur Genies beherrschen das unter Umst&auml;nden entstehende Chaos. Daher sollten Sie sich schnellstens an die Entwicklung einer Aufgabenverwaltung begeben, um &uuml;ber Ihre und die Aufgaben Ihrer Mitarbeiter nicht den &uuml;berblick zu verlieren &#8211; vor allem aber, um die richtigen Priorit&auml;ten zu setzen. Damit Sie dabei alles im Griff haben, finden Sie im vorliegenden Beitrag die passende Musterl&ouml;sung.<\/b><\/p>\n<p>F&uuml;r die Verwaltung von Aufgaben gibt es unterschiedliche Ans&auml;tze. Vielen Menschen ist der gute alte Notizzettel noch immer die beste Hilfe, um im Tagesgesch&auml;ft nicht den &uuml;berblick zu verlieren. Andere schw&ouml;ren auf Anwendungen wie Microsoft Outlook und dessen Aufgabenverwaltung.<\/p>\n<p>W&auml;hrend Notizzettel f&uuml;r den &#8222;Solisten&#8220; in Ordnung sein m&ouml;gen, sind sie der Teamarbeit sicher nicht zutr&auml;glich. Die Verwendung der Aufgabenverwaltung von Outlook ist da schon eher geeignet (siehe Bild 1). Sie bietet die wesentlichen Merkmale wie das Setzen von Priorit&auml;t, Status, F&auml;lligkeit und einige andere Eigenschaften sowie die Zuordnung von Aufgaben zu unterschiedlichen Mitarbeitern.<\/p>\n<p><IMG height=\"251\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Aufgabenverwaltung mit Outlook<\/span><\/b><\/p>\n<p>Allerdings gibt es keine vern&uuml;nftige M&ouml;glichkeit, den Fortschritt der Aufgaben zu dokumentieren, und auch die Verbindung mit Daten anderer Systeme wie z. B. einer Projektverwaltung ist nicht vorgesehen.<\/p>\n<p>Daher spricht alles f&uuml;r die Erstellung einer eigenen Aufgabenverwaltung, die Sie an die individuellen Anforderungen Ihres Unternehmens anpassen k&ouml;nnen: z. B. die Zuordnung von Aufgaben zu bestimmten Projekten, statistische Auswertungen der aktuellen Aufgaben usw.<\/p>\n<p>Die folgenden Abschnitte erl&auml;utern die Aufgaben, die die Aufgabenverwaltung erf&uuml;llen soll.<\/p>\n<p><b>Verwaltung vonBenutzern<\/b><\/p>\n<p>Die Aufgabenverwaltung ist f&uuml;r den Mehrbenutzerbetrieb konzipiert. Jeder Benutzer, der neue Aufgaben anlegen, Aktionen eingeben oder einfach nur Informationen abfragen m&ouml;chte, muss sich zu Beginn mit Benutzernamen und Kennwort beim System anmelden.<\/p>\n<h3>Hinweis<\/h3>\n<p>Die Anmeldung bei der Datenbank dient in der vorliegenden Version der Musterl&ouml;sung lediglich dem Komfort und sorgt daf&uuml;r, dass der Name des aktuellen Benutzers in Eingabeformularen automatisch voreingestellt ist. Eine konsequente Weiterentwicklung w&auml;re zum Beispiel, Benutzern per Anwendung des Sicherheitssytems von Access aus Datenschutzgr&uuml;nden den direkten Zugriff auf Tabellen sperren. <\/p>\n<p>Die Musterl&ouml;sung enth&auml;lt eine kleine Abstufung der Benutzerrechte, welche die Benutzer in Administratoren und normale Benutzer unterteilt. Administratoren sollen sich die Daten aller Benutzer ansehen d&uuml;rfen, w&auml;hrend normale Benutzer nur Daten einsehen k&ouml;nnen, die ihre eigenen Aufgaben betreffen.<\/p>\n<p><b>Verwaltung von Projekten<\/b><\/p>\n<p>Viele Aufgabenverwaltungen ber&uuml;cksichtigen nicht die Aufteilung der Aufgaben auf unterschiedliche Projekte. Die Musterl&ouml;sung soll aber vor allem die &uuml;bersicht &uuml;ber die zu einem bestimmten Projekt geh&ouml;renden Aufgaben erlauben.<\/p>\n<p>Daher verf&uuml;gt die Datenbank &uuml;ber eine Tabelle mit rudiment&auml;ren Projektdaten, die Sie allerdings gerne durch eine Verkn&uuml;pfung mit der Projekte-Tabelle einer bestehenden Projektverwaltung ersetzen k&ouml;nnen.<\/p>\n<p><b>Verwaltung von Aufgaben<\/b><\/p>\n<p>Die Hauptaufgabe der Datenbank ist nat&uuml;rlich die Verwaltung von Aufgaben. Zu den Aufgaben sollen nicht nur einmalig Daten eingegeben werden k&ouml;nnen.<\/p>\n<p>Viele Aufgaben erfordern mehrere Schritte, erhalten w&auml;hrend ihrer Erledigung einen anderen Ausf&uuml;hrenden oder ihre Priorit&auml;t &auml;ndert sich. Au&szlig;erdem soll es m&ouml;glich sein, den Status einer Aufgabe w&auml;hrend der Bearbeitung zu &auml;ndern &#8211; z. B. von Offen auf Fertig usw. Um die einzelnen Schritte nachvollziehen zu k&ouml;nnen, soll die Datenbank jede &auml;nderung einzeln festhalten.<\/p>\n<p><b>Durchf&uuml;hrung von Aufgabendokumentieren<\/b><\/p>\n<p>Eine der wichtigsten Anforderungen an die Aufgabenverwaltung ist die Dokumentation der Durchf&uuml;hrung von Aufgaben. Die jeweiligen Schritte sollen als einzelne Aktionen beschrieben und gespeichert werden.<\/p>\n<p>Dabei braucht es sich nicht nur um Aktionen zu handeln, die direkt mit der Erledigung der Aufgabe zu tun haben. Aufgaben k&ouml;nnen nur sinnvoll verwaltet und priorisiert werden, wenn dies umfassend und dynamisch erfolgt.<\/p>\n<p>Das bedeutet, dass Eigenschaften von Aufgaben angepasst werden m&uuml;ssen &#8211; z. B. durch &auml;ndern der Priorit&auml;t oder Auswechseln des verantwortlichen Mitarbeiters.<\/p>\n<p>Selbstverst&auml;ndlich sind auch Status&auml;nderungen zu dokumentieren. F&uuml;r jede T&auml;tigkeit und jede Anpassung der Aufgabe soll optimalerweise eine Aktion definiert und gespeichert werden. <\/p>\n<p><b>Anzeige von Aufgaben<\/b><\/p>\n<p>Die Musterl&ouml;sung soll Aufgaben nach unterschiedlichen Kriterien anzeigen &#8211; z. B. nach Projekten, Mitarbeitern, Priorit&auml;t, Status usw. sortiert oder gefiltert.<\/p>\n<p>Auf diese Weise kann ein Mitarbeiter schnell &uuml;berblick &uuml;ber seine aktuellen Aufgaben und die Projekte gewinnen, und der Projektleiter kann sich ein Bild machen, ob alle Aufgaben wunschgem&auml;&szlig; abgearbeitet werden.<\/p>\n<p>Das Datenmodell der Aufgabenverwaltung umfasst sechs Tabellen. Abb. 2 vermittelt einen &uuml;berblick &uuml;ber die Tabellen und deren Beziehungen zueinander.<\/p>\n<p>Das Beziehungsfenster aus Bild 2 enth&auml;lt aus Gr&uuml;nden der &uuml;bersichtlichkeit nicht alle Tabellen. Die Tabelle tblProjekte ist dort nicht zu finden &#8211; sie ist aber auch lediglich mit der Tabelle tblAufgaben verkn&uuml;pft. Dabei verweist das Fremdschl&uuml;sselfeld ProjektID auf den Prim&auml;rschl&uuml;ssel der Tabelle tblProjekte.<\/p>\n<p><b>Die Tabelle tblAufgaben<\/b><\/p>\n<p><IMG height=\"539\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic002.png\" width=\"499\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Das Datenmodell der Aufgabenverwaltung<\/span><\/b><\/p>\n<p>Die Tabelle tblAufgaben speichert die Informationen, die beim Anlegen einer Aufgabe eingegeben werden:<\/p>\n<li>AufgabeID<\/li>\n<li>ProjektID: Fremdschl&uuml;sselfeld, verweist auf das Prim&auml;rschl&uuml;sselfeld ProjektID der Tabelle tblProjekte<\/li>\n<li>Aufgabe: Titel der Aufgabe<\/li>\n<li>Aufgabenbeschreibung: Detaillierte Beschreibung der Aufgabe, daher als Memofeld ausgef&uuml;hrt<\/li>\n<li>Prioritaet: Fremdschl&uuml;sselfeld, verweist auf das Feld PrioritaetID der Tabelle tblPrioritaeten<\/li>\n<li>Status: Fremdschl&uuml;sselfeld mit Verweis auf die Tabelle tblStatus<\/li>\n<li>AngelegtDurch: Fremdschl&uuml;sselfeld mit Verweis auf die Tabelle tblBenutzer<\/li>\n<li>AngelegtAm: Datum der Anlage der Aufgabe<\/li>\n<li>ZugeordnetZu: Fremdschl&uuml;sselfeld mit Verweis auf die Tabelle tblBenutzer zur Angabe, wer f&uuml;r die Ausf&uuml;hrung der Aufgabe verantwortlich ist<\/li>\n<li>Enddatum: Datum, bis zu dem die Aufgabe ausgef&uuml;hrt sein soll<\/li>\n<li>ErwarteteDauer: Angabe der erwarteten Dauer in Stunden, nur f&uuml;r statistische Zwecke vorgesehen<\/li>\n<p>Die Tabelle speichert noch einige weitere Werte, die den aktuellen Zustand der Aufgabe wiedergeben &#8211; z. B. Status, Priorit&auml;t, ausf&uuml;hrender Benutzer usw. Der Grund daf&uuml;r ist, dass in sp&auml;teren Zusammenfassungen der Informationen zu einer Aufgabe nicht nur der Status oder die Priorit&auml;t beim Anlegen der Aufgabe ausgegeben werden soll, sondern auch der aktuell vorhandene Zustand.<\/p>\n<p>Bei den Aktionen kann es sich n&auml;mlich nicht nur um T&auml;tigkeiten handeln, die direkt mit der Ausf&uuml;hrung der Aufgabe in Verbindung stehen, sondern auch um &auml;nderung von Eigenschaften der Aufgabe &#8211; also der Priorit&auml;t, des Status oder des beauftragten Mitarbeiters. Die Felder zur Speicherung der entsprechenden Informationen hei&szlig;en AktuellerStatus, AktuellePrioritaet und AktuellZugeordnetZu.<\/p>\n<p><b>Die Tabelle tblAktionen<\/b><\/p>\n<p>Da bei jeder Aufgabe Priorit&auml;t und Status wechseln und jede Aufgabe mehrere Schritte bis zur Erledigung durchlaufen kann, werden die entsprechenden Informationen der einzelnen Schritte nicht in der Tabelle tblAufgaben, sondern in einer separaten Tabelle gespeichert.<\/p>\n<p>Ein Eintrag erfolgt immer, wenn die Aufgabe bearbeitet wurde oder wenn eine Eigenschaft ge&auml;ndert wurde &#8211; also beispielsweise die Priorit&auml;t einer Aufgabe erh&ouml;ht oder herabgesetzt wurde.<\/p>\n<p>Die Tabelle tblAktionen enth&auml;lt die folgenden Felder:<\/p>\n<li>AktionID: Prim&auml;rindex der Tabelle<\/li>\n<li>Aktion: Beschreibung der durchgef&uuml;hrten Aktion oder des Grundes f&uuml;r eine &auml;nderung einer der Eigenschaften<\/li>\n<li>AufgabeID: Fremdschl&uuml;sselfeld mit Verweis auf die Tabelle tblAufgaben<\/li>\n<li>PrioritaetID: Fremdschl&uuml;sselfeld mit Verweis auf die Tabelle tblPrioritaeten zum Einstellen der aktuellen Priorit&auml;t<\/li>\n<li>StatusID: Fremdschl&uuml;sselfeld mit Verweis auf die Tabelle tblStatus zum Einstellen des aktuellen Status<\/li>\n<li>AngelegtAm, AngelegtVon, ZugeordnetZu, Enddatum: wie in Tabelle tblAufgaben<\/li>\n<li>VerbrauchteZeit: Zeit in Stunden, die f&uuml;r die aktuelle Aktion verbraucht wurde<\/li>\n<p><b>Die Tabelle tblBenutzer<\/b><\/p>\n<p>Diese Tabelle enth&auml;lt alle f&uuml;r die vorliegende Datenbankanwendung ben&ouml;tigten Benutzerinformationen.<\/p>\n<p>Falls Sie eine bereits vorhandene Mitarbeitertabelle aus einer anderen Datenbank verwenden m&ouml;chten, haben Sie zwei M&ouml;glichkeiten: Entweder Sie f&uuml;gen der bereits bestehenden Mitarbeitertabelle alle Felder hinzu, die Sie im Rahmen der vorliegenden Musterl&ouml;sung verwenden m&ouml;chten (soweit diese noch nicht vorhanden sind) oder Sie f&uuml;gen der Tabelle tblBenutzer ein Fremdschl&uuml;sselfeld mit einem Verweis auf die bereits bestehende Mitarbeitertabelle hinzu.<\/p>\n<p>Die Tabelle tblBenutzer besteht aus den folgenden Feldern:<\/p>\n<li>BenutzerID: Prim&auml;rschl&uuml;sselfeld der Tabelle<\/li>\n<li>Nachname<\/li>\n<li>Vorname<\/li>\n<li>Benutzername: Name zur Anmeldung an die Aufgabenverwaltung<\/li>\n<li>Kennwort: Kennwort zur Anmeldung an die Aufgabenverwaltung<\/li>\n<li>EMail<\/li>\n<li>IstAdministrator: gibt an, ob der Benutzer die Daten aller Aufgaben am Bildschirm einsehen kann oder nur die der ihm zugeordneten Aufgaben.<\/li>\n<p><b>Weitere Tabellen<\/b><\/p>\n<p>Die weiteren Tabellen tblPrioritaeten, tblStatus und tblProjekte bestehen im Wesentlichen aus einem Prim&auml;rschl&uuml;sselfeld und der Bezeichnung des jeweiligen Elements.<\/p>\n<p>Lediglich die Tabelle tblProjekte hat noch ein Fremdschl&uuml;sselfeld namens Projektleiter, mit dem ein Benutzer aus der Tabelle tblBenutzer ausgew&auml;hlt werden kann.<\/p>\n<p><b>Beziehungen<\/b><\/p>\n<p>Die Beziehungen wurden im Wesentlichen bereits im Rahmen der Beschreibung der Tabellen abgehandelt. Es gibt jedoch eine Besonderheit:<\/p>\n<p>Es kommt oft vor, dass von mehreren Tabellen auf die Datens&auml;tze einer Tabelle verwiesen wird &#8211; aber der Fall, dass eine Tabelle gleich mehrfach auf das Prim&auml;rschl&uuml;sselfeld einer weiteren Tabelle verweist, ist in der Regel nicht so h&auml;ufig.<\/p>\n<p><IMG height=\"159\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic003.png\" width=\"498\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Sicherheitsabfrage vor dem Erstellen einer zweiten Beziehung zwischen zwei Tabellen<\/span><\/b><\/p>\n<p><IMG height=\"185\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic004.png\" width=\"345\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Anmeldung an die Aufgabenverwaltung<\/span><\/b><\/p>\n<p>Dies ist sowohl in der Tabelle tblAufgaben als auch tblAktionen der Fall. Access bzw. das Beziehungsfenster reagiert auch etwas unerwartet, wenn Sie direkt zwei oder mehr Beziehungen zwischen zwei Tabellen erstellen m&ouml;chten: Zun&auml;chst erscheint eine Abfrage, ob Sie eine neue Beziehung erstellen oder die vorhandene Beziehung bearbeiten m&ouml;chten (siehe Bild 3).<\/p>\n<p>Wenn Sie richtigerweise mit Nein antworten, erstellt Access die Beziehung ordnungsgem&auml;&szlig;, legt aber eine merkw&uuml;rdige Darstellungsweise an den Tag: Statt einfach zwei Beziehungspfeile zwischen den betroffenen Feldern der beiden Tabellen anzuzeigen, zeigt es die Tabelle, deren Prim&auml;rschl&uuml;sselfeld an der Beziehung beteiligt ist, zweimal an (siehe Bild 2).<\/p>\n<p>Die Anwendung der Aufgabenverwaltung erfordert zun&auml;chst einmal die Anmeldung des Benutzers bei der Datenbank, damit er seine eigenen Aufgaben ansehen kann und der Komfort bei der Eingabe von Informationen in die Tabellen der Datenbank erh&ouml;ht wird.<\/p>\n<p>Anschlie&szlig;end erscheint eine &uuml;bersicht &uuml;ber alle Aufgaben, die der jeweilige Mitarbeiter einsehen k&ouml;nnen soll.<\/p>\n<p>Die &uuml;bersicht ist gleichzeitig die Schaltzentrale der Aufgabenverwaltung. Von hier kann der Anwender alle gew&uuml;nschten Operationen ausf&uuml;hren:<\/p>\n<li>Ansehen von Aufgaben und Aktionen<\/li>\n<li>Anlegen von neuen Aufgaben<\/li>\n<li>Hinzuf&uuml;gen von Aktionen zu bestehenden Aufgaben und damit &auml;ndern von Priorit&auml;t, Status und Zuteilung<\/li>\n<li>Sortieren der Aufgabenliste nach verschiedenen Kriterien<\/li>\n<li>Ausgabe von Listen in Berichtform<\/li>\n<li>Ausgabe von Berichten zu einzelnen Aufgaben<\/li>\n<p>Die Musterl&ouml;sung stellt keine M&ouml;glichkeit zur Eingabe und Bearbeitung von Benutzern und Projekten zur Verf&uuml;gung, da diese Daten in der Regel in anderen Anwendungen bereits vorhanden sind.<\/p>\n<p><!--30percent--><\/p>\n<p><b>Das Anmeldeformular<\/b><\/p>\n<p>Die Arbeit mit der Aufgabenverwaltung beginnt mit der Anmeldung bei der Anwendung. Die Anmeldung &uuml;bernimmt das Formular frmAnmeldung (siehe Bild 4). Das Anmeldeformular soll nicht nur beim Starten der Anwendung angezeigt werden, sondern auch beim Aufruf eines der Formulare der Datenbank aus dem Datenbankfenster heraus.<\/p>\n<p><IMG height=\"320\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic005.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Entwurfsansicht des Formulars frmAnmeldung<\/span><\/b><\/p>\n<h3>Steuerelemente des Anmeldeformulars<\/h3>\n<pre>Private Sub cmdOk_Click()\r\n    Dim db As Database\r\n    Dim rstBenutzer As Recordset\r\n    Set db = CurrentDb\r\n    Set rstBenutzer = db.OpenRecordset(\"SELECT * FROM tblBenutzer \" _        & \"WHERE Benutzername = ''\" & Me.txtBenutzername & \"''\", dbOpenDynaset)\r\n    If rstBenutzer.EOF Then\r\n        Me.txtMeldung = \"Leider ist kein Benutzer mit dem angegebenen \" _\r\n            & \"Namen vorhanden.\"\r\n        Me.txtBenutzername.SetFocus\r\n    Else\r\n        If rstBenutzer!Kennwort = Me.txtKennwort Then\r\n            Me.txtMeldung = \"\"\r\n            DoCmd.Close acForm, Me.Name\r\n            DoCmd.OpenForm \"frmUebersicht\"\r\n            BenutzerID = rstBenutzer!BenutzerID\r\n        Else\r\n            Me.txtMeldung = \"Leider haben Sie ein falsches Kennwort eingegeben.\"\r\n            Me.txtKennwort.SetFocus\r\n        End If\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<p>Das Formular besitzt zwei Textfelder zur Eingabe von Benutzername und Kennwort (siehe Bild 5). Beide Textfelder sind ungebunden. Die Eigenschaft Eingabeformat des Textfeldes txtKennwort hat den Wert Kennwort. Dadurch werden die eingegebenen Buchstaben durch Sternchen (*) ersetzt.<\/p>\n<p>Ein weiteres Textfeld namens txtMeldung dient der Ausgabe von Meldungen, z. B. wenn der Anwender eine falsche Kombination aus Benutzernamen und Kennwort eingegeben hat.<\/p>\n<p>Das Formular hat drei Schaltfl&auml;chen namens cmdOk, cmdBeenden und cmdKennwortVergessen.<\/p>\n<h3>Benutzereingaben best&auml;tigen<\/h3>\n<p>Die erste Schaltfl&auml;che l&ouml;st die Prozedur aus Quellcode 1 aus. Die Prozedur &ouml;ffnet eine Datensatzgruppe mit allen Datens&auml;tzen der Tabelle tblBenutzer, deren Benutzername mit dem Inhalt des Textfeldes txtBenutzername &uuml;bereinstimmt.<\/p>\n<pre>Private Sub cmdKennwortVergessen_Click()\r\n    Dim db As Database\r\n    Dim rstBenutzer As Recordset\r\n    Set db = CurrentDb\r\n    Set rstBenutzer = db.OpenRecordset(\"SELECT EMail, Kennwort FROM tblBenutzer \" _        & \"WHERE Benutzername = ''\" & Me.txtBenutzername & \"''\")\r\n    If rstBenutzer.EOF Then\r\n        Me.txtMeldung = \"Der angegebene Benutzername konnte nicht gefunden werden.\"\r\n    ElseIf IsNull(rstBenutzer!EMail) Then\r\n        Me.txtMeldung = \"Der angegebene Benutzer hat keine E-Mailadresse.\"\r\n    Else\r\n        If MailSenden(rstBenutzer!EMail, \"Ihr Kennwort\", \"Ihr Kennwort lautet: \" _            & vbCrLf & rstBenutzer!Kennwort) = 0 Then\r\n            Me.txtMeldung = \"Sie erhalten in wenigen Augenblicken Ihr Kennwort \" _                & \"per E-Mail.\"\r\n        Else\r\n            Me.txtMeldung = \"Der E-Mail-Versand hat nicht funktioniert.\"\r\n        End If\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p>Wenn die Datensatzgruppe keine Datens&auml;tze enth&auml;lt, erscheint im Textfeld txtMeldung in roter Schrift eine Meldung, die den Benutzer auf den nicht vorhandenen Benutzernamen hinweist.<\/p>\n<p>Falls der Benutzer in der Datensatzgruppe vorhanden ist, &uuml;berpr&uuml;ft die Prozedur das Kennwort. Wenn ein falsches Kennwort eingegeben wurde, erscheint eine entsprechende Meldung. Ist die Kombination aus Benutzernamen und Kennwort richtig, speichert die Prozedur den Wert des Feldes BenutzerID in der gleichnamigen globalen Variablen. Anschlie&szlig;end &ouml;ffnet sie das Formular frmUebersicht.<\/p>\n<h3>BenutzerID in globaler Variablen speichern<\/h3>\n<p>Damit alle Formulare auf die BenutzerID des aktuellen Benutzers zugreifen k&ouml;nnen, speichern Sie diese in einer globalen Variablen gleichen Namens. Legen Sie dazu ein neues Modul an und tragen Sie die folgende Zeile ein:<\/p>\n<pre>Public BenutzerID As Integer<\/pre>\n<p>Speichern Sie das Modul anschlie&szlig;end unter dem Namen mdlGlobal.<\/p>\n<h3>Anwendung beenden<\/h3>\n<p>Die Schaltfl&auml;che cmdBeenden dient dem Beenden der Anwendung nach vorherigem Best&auml;tigen durch den Benutzer.<\/p>\n<h3>Kennwort vergessen<\/h3>\n<p>Die Schaltfl&auml;che mit der Beschriftung Kennwort vergessen ist f&uuml;r Anwender gedacht, die ihr Kennwort vergessen haben. Die Schaltfl&auml;che l&ouml;st die Prozedur aus Quellcode 2 aus.<\/p>\n<p>Die Prozedur &ouml;ffnet eine Datensatzgruppe mit der E-Mail-Adresse und dem Kennwort des Benutzers mit dem im Textfeld txtBenutzername angegebenen Wert.<\/p>\n<p>&auml;hnlich wie in Quellcode 1 &uuml;berpr&uuml;ft auch diese Prozedur, ob der Benutzername vorhanden ist und ob es eine E-Mail-Adresse gibt. Falls die ben&ouml;tigten Informationen vorhanden sind, ruft sie die Funktion MailSenden auf, die eine Mail mit dem Kennwort an den Benutzer mit der gefundenen E-Mail-Adresse schickt.<\/p>\n<pre>Public Function MailSenden(Adresse As String, _    Betreff As String, Inhalt As String) As Long\r\n    Dim olNewMail As Object\r\n    Dim olNewItem\r\n    On Error GoTo MailSenden_Err\r\n    Set olNewMail = CreateObject(\"Outlook.Application\")\r\n    Set olNewItem = olNewMail.CreateItem(0)\r\n    olNewItem.Recipients.Add Adresse\r\n    olNewItem.Subject = Betreff\r\n    olNewItem.Body = Inhalt\r\n    olNewItem.Send\r\n    Set olNewMail = Nothing\r\n    Set olNewItem = Nothing\r\nMailSenden_Err:\r\n    MailSenden = Err.Number\r\nEnd Function<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<p>Wenn beim Versenden der E-Mail ein Fehler auftritt, gibt die Funktion MailSenden einen Wert ungleich 0 zur&uuml;ck. Ist dies der Fall, erscheint eine entsprechende Meldung im Textfeld txtMeldung.<\/p>\n<p><IMG height=\"226\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic006.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Formular zur &uuml;bersicht &uuml;ber alle Aufgaben<\/span><\/b><\/p>\n<h3>Die Funktion MailSenden<\/h3>\n<p>Die Funktion sendet eine Mail an die im &uuml;bergabeparameter Adresse angegebene E-Mail-Adresse. Die Parameter Betreff und Inhalt enthalten die Zeichenketten, die den Eigenschaften Subject und Body der E-Mail zugewiesen werden (s. Quellcode 3).<\/p>\n<h3>Hinweis<\/h3>\n<p>Die Funktion wird noch von anderen Formularen ben&ouml;tigt. Sie k&ouml;nnen sie daher am besten im Modul mdlGlobal speichern, in dem sich schon die Deklaration der Variablen BenutzerID befindet. <\/p>\n<p>Die Funktion verwendet Microsoft Outlook zum Versenden der E-Mail. Wenn Sie ein anderes Mailprogramm benutzen, m&uuml;ssen Sie die Funktion entsprechend anpassen oder gegebenenfalls auf einen alternativen Weg finden.<\/p>\n<p>Falls beim Versenden der E-Mail irgendein Fehler auftritt, ist der R&uuml;ckgabewert der Funktion ungleich 0.<\/p>\n<h3>Hinweis<\/h3>\n<p>Je nach den Einstellungen von Microsoft Outlook kann die Funktion die E-Mail nicht automatisch direkt versenden. Manche Sicherheitsoptionen erfordern zus&auml;tzlich eine Best&auml;tigung des Anwenders. <\/p>\n<p><b>Das Formular zum Anlegen neuer Aufgaben<\/b><\/p>\n<p>Bevor Sie sich dem &uuml;bersichtsformular zuwenden, erstellen Sie zun&auml;chst das Formular zur Eingabe von Aufgaben.<\/p>\n<p><b>Das &uuml;bersichtsformular<\/b><\/p>\n<p>Das Formular frmUebersicht beinhaltet im Wesentlichen ein Listenfeld, das alle f&uuml;r den aktuellen Benutzer sichtbaren Aufgaben enth&auml;lt.<\/p>\n<p>Die Steuerung erfolgt &uuml;ber das Listenfeld selbst sowie zwei weitere Schaltfl&auml;chen, mit denen der Benutzer eine neue Aufgabe anlegen und eine Liste der angezeigten Aufgaben ausdrucken kann.<\/p>\n<p>Alle anderen Steuerelemente dienen der Sortierung bzw. der Filterung der angezeigten Aufgaben.<\/p>\n<pre>Private Sub cmdAufgabenlisteDrucken_Click()\r\n    On Error GoTo cmdAufgabenlisteDrucken_Click_Err\r\n    DoCmd.OpenReport \"repListeAufgaben\", acViewPreview\r\n    RunCommand acCmdZoom50\r\n    DoEvents\r\n    RunCommand acCmdPrint\r\n    Exit Sub\r\ncmdAufgabenlisteDrucken_Click_Err:\r\n    If Err.Number = 2212 Then\r\n        MsgBox \"Der Druckauftrag wurde abgebrochen.\", _            vbOKOnly + vbExclamation\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<p>Dabei gibt es zwei unterschiedliche Steuerelemente: Mit Hilfe der kleinen Schaltfl&auml;chen mit den beiden Pfeilen k&ouml;nnen Sie die Sortierreihenfolge f&uuml;r eines oder mehrere Felder festlegen.<\/p>\n<p>Die Schaltfl&auml;chen wechseln bei jedem Klick die Sortierreihenfolge von neutral &uuml;ber aufsteigend zu absteigend. Ein weiterer Klick stellt die Sortierreihenfolge wieder auf neutral ein.<\/p>\n<p>Die Text- und Kombinationsfelder dienen der Filterung bestimmter Werte eines Feldes. Dabei k&ouml;nnen Sie mit den Kombinationsfeldern jeweils einen einzelnen Wert bestimmen, nach dem gefiltert werden soll.<\/p>\n<p>Das Textfeld kann f&uuml;r beliebige Filterkriterien verwendet werden. Die Kriterien k&ouml;nnen auch Platzhalter wie ein Fragezeichen () oder ein Sternchen (*) enthalten.<\/p>\n<h3>Hinweis<\/h3>\n<p>Eine genaue Beschreibung der Filter- und Sortierfunktionen w&uuml;rde den Rahmen des vorliegenden Beitrags sprengen. Sie finden die Beschreibung der Techniken in einem separaten Beitrag namens Sortieren und Filtern von Listenfeldern in der vorliegenden Ausgabe von Access im Unternehmen. <\/p>\n<h3>Ausdrucken der Liste<\/h3>\n<p>Das Ausdrucken der Liste erfolgt &uuml;ber die Schaltfl&auml;che cmdAufgabenlisteDrucken. Die Schaltfl&auml;che l&ouml;st die Prozedur aus Quellcode 4 aus.<\/p>\n<p>Die Prozedur sorgt nicht nur f&uuml;r den Ausdruck des Berichtes, sondern fragt den Benutzer nach dem gew&uuml;nschten Drucker. Dazu &ouml;ffnet die Prozedur zun&auml;chst den Bericht in der Entwurfsansicht mit einem Vergr&ouml;&szlig;erungsfaktor von 50 Prozent und aktiviert anschlie&szlig;end den Drucken-Dialog von Access.<\/p>\n<p>Falls der Druck bereits in Gang gesetzt ist und anschlie&szlig;end ein Fehler auftritt &#8211; beispielsweise wenn der Drucker nicht eingeschaltet ist oder der Druck aus anderen Gr&uuml;nden abgebrochen wird &#8211; f&auml;ngt eine daf&uuml;r ausgelegte Fehlerbehandlung den Fehler ab und gibt eine Meldung aus, dass der Druck nicht erfolgreich war.<\/p>\n<pre>Private Sub lstAufgaben_DblClick(Cancel As Integer)\r\n    DoCmd.OpenForm \"frmAufgabeDetailansicht\", _        Windowmode:=acDialog, _        WhereCondition:=\"AufgabeID = \" & Me.lstAufgaben\r\n    Me.lstAufgaben.Requery\r\nEnd Sub<\/pre>\n<p><b>Quellcode 5<\/b><\/p>\n<pre>Private Sub Form_Load()\r\n    If IsNull(BenutzerID) Or BenutzerID = 0 Then\r\n        DoCmd.OpenForm \"frmAnmeldung\", _            Windowmode:=acDialog\r\n    End If\r\n    If DLookup(\"IstAdministrator\", \"tblBenutzer\", _        \"BenutzerID = \" & BenutzerID) = False Then\r\n        Me.cboFilterBearbeiter = BenutzerID\r\n        Me.cboFilterBearbeiter.Enabled = False\r\n        Me.cmdBearbeiterNeutral.Enabled = False\r\n        FilterUndSortierung\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 6<\/b><\/p>\n<h3>Anzeigen der Detailinformationen einerAufgabe<\/h3>\n<p>Das Formular frmAufgabeDetailansicht dient der Anzeige genauerer Informationen zu einer Aufgabe. Es wird durch einen Doppelklick auf den gew&uuml;nschten Eintrag des Listenfeldes angezeigt.<\/p>\n<p>Zur Realisierung dieser Funktion hinterlegen Sie f&uuml;r die Ereigniseigenschaft Beim Doppelklicken des Listenfeldes lstAufgaben die Prozedur aus Quellcode 5.<\/p>\n<h3>Benutzerabh&auml;ngige Listeneintr&auml;ge<\/h3>\n<p>Wie bereits eingangs erw&auml;hnt, sollen nur Administratoren der Anwendung Einblick in alle Aufgaben erhalten. Normale Benutzer sollen nur zur Einsicht der ihnen zugeordneten Aufgaben berechtigt sein.<\/p>\n<p>Daher m&uuml;ssen Sie beim &ouml;ffnen des Formulars &uuml;berpr&uuml;fen, ob es sich bei dem Benutzer um einen Administrator oder einen normalen Benutzer handelt, und entsprechende Ma&szlig;nahmen treffen.<\/p>\n<p>Dazu legen Sie f&uuml;r die Ereigniseigenschaft Beim Laden des Formulars die Prozedur aus Quellcode 6 an.<\/p>\n<p>Die Prozedur &uuml;berpr&uuml;ft zun&auml;chst, ob &uuml;berhaupt ein Benutzer angemeldet ist, und &ouml;ffnet den Anmeldedialog, wenn noch keine Anmeldung erfolgt ist.<\/p>\n<p>Anschlie&szlig;end liest sie den Wert des Feldes IstAdministrator f&uuml;r den aktuellen Benutzer aus der Tabelle tblBenutzer aus.<\/p>\n<p>Falls der Benutzer &uuml;ber Administratorberechtigungen verf&uuml;gt, wird das Formular uneingeschr&auml;nkt angezeigt.<\/p>\n<p>Falls nicht, werden automatisch nur diejenigen Eintr&auml;ge dargestellt, die den aktuellen Benutzer betreffen, und das entsprechende Filtersteuerelement zur Auswahl des Benutzers deaktiviert.<\/p>\n<p><b>Das Formular zur Eingabe neuer Aufgaben<\/b><\/p>\n<p>Die Eingabe einer neuen Aufgabe erfolgt mit Hilfe des Formulars frmNeueAufgabe (siehe Bild 7). Die Funktionalit&auml;t des Formulars ist im Prinzip einfach. Die einzige Besonderheit ist die M&ouml;glichkeit, direkt per Kombinationsfeld neue Projekte einzugeben, und das Speichern weiterer Daten, die der Benutzer nicht beeinflussen kann.<\/p>\n<p>Das Speichern der eingegebenen Informationen erfolgt durch einen Mausklick auf die Schaltfl&auml;che Speichern. Sie l&ouml;st die Ereignisprozedur aus Quellcode 7 aus.<\/p>\n<pre>Private Sub cmdSpeichern_Click()\r\n    ''Validierung der eingegebenen Werte\r\n    If Not MailSenden(DLookup(\"EMail\", \"tblBenutzer\", \"BenutzerID = \" _        & Me.ZugeordnetZu), \"Information zu einer Aufgabe\", _        &  \"Ihnen wurde eine neue Aufgabe zugewiesen oder eine Aufgabe hat sich \" _        & \"ge&auml;ndert. Weitere Informationen finden Sie in der Aufgabenverwaltung.\") _\r\n        = 0 Then\r\n        MsgBox \"Der Ausf&uuml;hrende der Aufgabe konnte leider nicht benachrichtigt \" _            & \"werden.\", vbOKOnly + vbExclamation\r\n    End If    Me.AngelegtAm = Date\r\n    Me.AngelegtDurch = BenutzerID\r\n    Me.AktuellePrioritaetID = Me.PrioritaetID\r\n    Me.AktuellerStatusID = Me.StatusID\r\n    Me.AktuellZugeordnetZu = Me.ZugeordnetZu\r\n    DoCmd.RunCommand acCmdSaveRecord\r\n    DoCmd.Close acForm, Me.Name\r\nEnd Sub<\/pre>\n<p><b>Quellcode 7<\/b><\/p>\n<p><IMG height=\"309\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic007.png\" width=\"341\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Eingabe einer neuen Aufgabe<\/span><\/b><\/p>\n<p>Die Prozedur validiert zun&auml;chst die Benutzereingaben. Anschlie&szlig;end versendet sie eine E-Mail an den Benutzer, der als Verantwortlicher f&uuml;r diese Aufgabe festgelegt wurde. Dazu verwendet die Prozedur die bereits weiter oben beschriebene Funktion MailVersenden.<\/p>\n<p>Zu guter Letzt legt sie noch einige Werte der Datenherkunft &#8211; also der Tabelle tblAktionen &#8211; fest. Dabei handelt es sich um die Anlagedaten sowie die Daten, die den aktuellen Zustand der Aufgabe beschreiben: den aktuellen Benutzer, den Status und die Priorit&auml;t.<\/p>\n<p><b>Formular zur detaillierten Ansicht von Aufgaben<\/b><\/p>\n<p>Die Detailansicht von Aufgaben umfasst einerseits die Eigenschaften der Aufgabe als auch die Anzeige der Aktionen, die im Rahmen dieser Aufgabe durchgef&uuml;hrt wurden (siehe Bild 8).<\/p>\n<p>Das Formular enth&auml;lt im oberen Teil lediglich einige Textfelder zur Anzeige der Eigenschaften der Aufgabe aus der Tabelle tblAufgaben.<\/p>\n<p>Im unteren Teil befindet sich ein Unterformularsteuerelement mit einer &uuml;bersicht der Aktionen, die im Rahmen der angezeigten Aufgabe durchgef&uuml;hrt wurden. Dabei wird die zuletzt erfolgte Aktion ganz oben angezeigt.<\/p>\n<h3>Hinweis<\/h3>\n<p>Untypischerweise dient die Detailansicht keinesfalls zur &auml;nderung irgendwelcher Daten. Eine Aufgabe sowie die durchgef&uuml;hrten Aktionen werden nicht ge&auml;ndert oder gel&ouml;scht, um eine l&uuml;ckenlose Dokumentation zu erreichen. <\/p>\n<p><IMG height=\"535\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic008.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Detailinformationen zu einer Aufgabe<\/span><\/b><\/p>\n<p><IMG height=\"182\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic009.png\" width=\"485\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Das Formular frmNeueAktion<\/span><\/b><\/p>\n<p>Neben den beschriebenen Informationen bietet das Formular frmAufgabeDetailansicht lediglich drei Funktionen: den Aufruf des Formulars zum Anlegen einer neuen Aktion, die Anzeige eines Berichts mit allen Daten der Aufgabe sowie das Schlie&szlig;en des Formulars.<\/p>\n<p>Die Funktionalit&auml;t zum Anzeigen des Formulars zum Anlegen neuer Aktionen &ouml;ffnet lediglich das Formular frmNeueAktion im Dialogmodus &#8211; das bedeutet, dass w&auml;hrend der Anzeige dieses Formulars keine anderen T&auml;tigkeiten an der Datenbank ausgef&uuml;hrt werden k&ouml;nnen &#8211; und aktualisiert anschlie&szlig;end das Unterformular mit der neuen Aktion.<\/p>\n<p>Ebenso einfach funktioniert die Schaltfl&auml;che zum Anzeigen des Berichtes.<\/p>\n<p><b>Das Formular zum Hinzuf&uuml;genneuer Aktionen<\/b><\/p>\n<p>Neue Aktionen legen Sie mit dem Formular frmNeueAktion an (siehe Bild 9). Trotz seines unscheinbaren Aussehens birgt es einige Besonderheiten.<\/p>\n<p>Eine neue Aktion beinhaltet auf jeden Fall einen Text, mit dem die Aktion beschrieben wird. Au&szlig;erdem soll es m&ouml;glich sein, bei jeder neuen Aktion die Eigenschaften Status, Priorit&auml;t und verantwortlicher Mitarbeiter anzupassen.<\/p>\n<p>Da das Formular normalerweise einen v&ouml;llig leeren Datensatz anzeigt, sollten diese Eigenschaften mit den aktuellen Werten vorbelegt werden.<\/p>\n<p>Dazu l&ouml;st das Ereignis Beim Laden des Formulars die Prozedur aus Quellcode 8 aus. Die Prozedur liest die aktuellen Werte aus dem aufrufenden Formular frmAufgabeDetailansicht auf und speichert sie in den entsprechenden Feldern ab.<\/p>\n<h3>Speichern der neuen Aktion<\/h3>\n<p>Das Speichern des Datensatzes bringt einige Besonderheiten mit sich (s. Quellcode 9). Nach der Validierung der Benutzereingaben legt die Prozedur, die durch die Ereigniseigenschaft Beim Klicken der Speichern-Schaltfl&auml;che ausgel&ouml;st wird, zun&auml;chst den Zeitpunkt und den aktuellen Benutzer in der Datenherkunft des Formulars ab.<\/p>\n<pre>Private Sub Form_Current()\r\n    Me.cboPrioritaetID = _Forms!frmAufgabeDetailansicht!AktuellePrioritaetID\r\n    Me.cboStatusID = Forms!frmAufgabeDetailansicht!AktuellerStatusID\r\n    Me.cboZugeordnetZu = Forms!frmAufgabeDetailansicht!AktuellZugeordnetZuID\r\nEnd Sub<\/pre>\n<p><b>Quellcode 8<\/b><\/p>\n<pre>Private Sub cmdSpeichern_Click()\r\n    '' Validierung der Eingabe\r\n    Me.AngelegtAm = Date\r\n    Me.AngelegtVon = BenutzerID\r\n    Me.AufgabeID = Forms!frmAufgabeDetailansicht!AufgabeID\r\n    DoCmd.SetWarnings False\r\n    If Not Me.ZugeordnetZu = DLookup(\"AktuellZugeordnetZu\", \"tblAufgaben\", _        \"AufgabeID = \" & Me.AufgabeID) Then\r\n        DoCmd.RunSQL \"UPDATE tblAufgaben SET AktuellZugeordnetZu = \" _            & Me.ZugeordnetZu & \" WHERE AufgabeID = \" & Me.AufgabeID\r\n        If Not MailSenden(DLookup(\"EMail\", \"tblBenutzer\", \"BenutzerID = \" _            & Me.cboZugeordnetZu), \"Information zu einer Aufgabe\", _            & \"Ihnen wurde eine neue Aufgabe zugewiesen oder eine Aufgabe hat sich \" _            & \" ge&auml;ndert. Weitere Informationen finden Sie in der \" _            & \"Aufgabenverwaltung.\") = 0 Then\r\n            MsgBox \"Der Ausf&uuml;hrende der Aufgabe konnte leider nicht benachrichtigt \" _                & \"werden.\", vbOKOnly + vbExclamation\r\n        End If\r\n    End If\r\n    If Not Me.PrioritaetID = DLookup(\"AktuellePrioritaetID\", \"tblAufgaben\", _        \"AufgabeID = \" & Me.AufgabeID) Then\r\n        DoCmd.RunSQL \"UPDATE tblAufgaben SET AktuellePrioritaetID = \" _            & Me.PrioritaetID & \" WHERE AufgabeID = \" & Me.AufgabeID\r\n    End If\r\n    If Not Me.StatusID = DLookup(\"AktuellerStatusID\", \"tblAufgaben\", \"AufgabeID = \" _        & Me.AufgabeID) Then\r\n        DoCmd.RunSQL \"UPDATE tblAufgaben SET AktuellerStatusID = \" & Me.StatusID _            & \" WHERE AufgabeID = \" & Me.AufgabeID\r\n    End If\r\n    DoCmd.SetWarnings True\r\n    DoCmd.RunCommand acCmdSaveRecord\r\n    DoCmd.Close acForm, Me.Name\r\nEnd Sub<\/pre>\n<p><b>Quellcode 9<\/b><\/p>\n<p>Anschlie&szlig;end liest es die ID der Aufgabe, zu der die Aktion geh&ouml;rt, aus dem aufrufenden Formular ein. In den n&auml;chsten drei If-Then-Bl&ouml;cken &uuml;berpr&uuml;ft die Prozedur, ob einer der drei Werte &#8211; aktueller Status, aktuelle Priorit&auml;t oder aktueller zugeordneter Mitarbeiter &#8211; sich ge&auml;ndert hat, und tr&auml;gt gegebenenfalls den ge&auml;nderten Wert in das entsprechende Feld der Tabelle tblAufgaben ein. Dar&uuml;ber hinaus versendet die Prozedur eine E-Mail, wenn sich der zust&auml;ndige Mitarbeiter f&uuml;r die Aufgabe ge&auml;ndert hat &#8211; und zwar an diesen Mitarbeiter.<\/p>\n<p>Zum Versenden der E-Mail verwendet die Prozedur die bereits weiter oben beschriebene Funktion MailVersenden. Anschlie&szlig;end speichert die Prozedur den Datensatz und schlie&szlig;t das Formular.<\/p>\n<p>Die Aufgabenverwaltung beinhaltet zwei Berichte. Der erste wird &uuml;ber das Formular frmUebersicht aufgerufen und zeigt eine Liste der aktuell im Formular angezeigten Aufgaben an.<\/p>\n<p>Der zweite Bericht wird vom Formular frmAufgabeDetailansicht aus aufgerufen und zeigt die aktuell angezeigte Aufgabe mit allen Informationen &uuml;ber diese Aufgabe und die dazugeh&ouml;renden Aktionen.<\/p>\n<p><b>Der Bericht repAufgabenliste<\/b><\/p>\n<p>Der Bericht stellt lediglich die Eigenschaften der Aufgaben dar, die sich derzeit im Listenfeld des Formulars frmUebersicht befinden (siehe Bild 10). Da er keine besonders aufw&auml;ndigen Funktionen besitzt, soll er hier nicht weiter beschrieben werden <\/p>\n<p><IMG height=\"312\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic010.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 10:  &uuml;bersicht der Aufgaben<\/span><\/b><\/p>\n<p><IMG height=\"318\" src=\"..\/fileadmin\/_temp_\/{1029F692-36F0-481D-9177-EF6CC12DF7A2}\/pic011.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 11:  &uuml;bersicht &uuml;ber eine Aufgabe<\/span><\/b><\/p>\n<p><b>Der BerichtrepAufgabeDetailansicht<\/b><\/p>\n<p>Der Bericht zeigt alle Informationen zu der ausgew&auml;hlten Aufgabe im grauen Bereich des Berichtes an (siehe Bild 11).<\/p>\n<p>Darunter befinden sich die Informationen &uuml;ber die einzelnen Aktionen, die im Rahmen der angegebenen Aufgabe ausgef&uuml;hrt wurden. Dazu geh&ouml;rt auch die Anzeige der ben&ouml;tigten Zeit. Diese Zeit wird am Ende der Liste addiert und mit der f&uuml;r die Aufgabe geplanten Stundenzahl verglichen.<\/p>\n<p>Jede Access-Anwendung ist prinzipiell mehrbenutzerf&auml;hig. Bei Anwendungen mit vielen Datens&auml;tzen und Zugriffen ist es angebracht, eine SQL Server- oder MSDE-Datenbank mit einem entsprechenden Frontend zu erstellen. Das erh&ouml;ht einerseits die Performance, andererseits k&ouml;nnen Sie mit diesen Anwendungen leicht verhindern, dass Fehler durch zuf&auml;llig gleichzeitig auf den gleichen Datensatz zugreifende Benutzer auftreten.<\/p>\n<p>Wenn Sie die vorliegende Anwendung nicht gerade in einem Unternehmen mit mehreren tausend Mitarbeitern einsetzen, brauchen Sie sich hier&uuml;ber keine Sorgen zu machen. Eine einfache Access-Datenbank reicht v&ouml;llig aus.<\/p>\n<p>Sie sollten die Datenbank jedoch in Frontend und Backend unterteilen. Das bedeutet, dass Sie aus einer Datenbank zwei machen &#8211; eine mit der gesamten Anwendungslogik und eine mit den Tabellen, in denen sich die Daten befinden.<\/p>\n<p>Anschlie&szlig;end k&ouml;nnen Sie das Backend der Datenbank auf einem &uuml;ber das Netzwerk erreichbaren Rechner ablegen &#8211; beispielsweise einem Server-Rechner &#8211; und die gew&uuml;nschten Arbeitspl&auml;tze mit je einer Kopie der Frontend-Datenbank ausr&uuml;sten.<\/p>\n<p>Auf diese Weise arbeiten alle Benutzer mit den gleichen Daten, haben aber die Anwendungslogik bereits auf dem eigenen Rechner &#8211; das Netzwerk wird so nicht unn&ouml;tig belastet.<\/p>\n<p>Au&szlig;erdem k&ouml;nnen Sie so leicht &auml;nderungen an der Benutzeroberfl&auml;che vornehmen und dem Benutzer durch einfaches Austauschen der Benutzerfrontends ohne Datenverluste die neue Version pr&auml;sentieren.<\/p>\n<h3>Hinweis<\/h3>\n<p>Die Beschreibung der Aufteilung einer Datenbank in Frontend und Backend w&uuml;rde den Rahmen des vorliegenden Beitrags sprengen. Daher finden Sie die Vorgehensweise Beitrag Aufteilen von Access-Datenbanken in der vorliegenden Ausgabe von Access im Unternehmen. <\/p>\n<p>Die Anwendung beinhaltet die wichtigsten Eigenschaften f&uuml;r die Verwaltung von Aufgaben. Neben den eigentlichen Aufgaben kann der Anwender jede Aufgabe in beliebig vielen Schritten dokumentieren und bei jedem Schritt Priorit&auml;t, Status und verantwortlichen Mitarbeiter eingeben.<\/p>\n<p>Die Aufgabenverwaltung kann in den unterschiedlichsten Bereichen zu einem m&auml;chtigen Werkzeug werden &#8211; egal, ob Sie damit beliebige Aufgaben verwalten oder ob Sie besondere Bereiche damit abdecken.<\/p>\n<p>Die Anwendung kann n&auml;mlich problemlos auch f&uuml;r spezielle Anwendungen eingesetzt werden, z. B. um bei der Softwareentwicklung Fehler und deren Behebung zu verwalten.<\/p>\n<p>Erfolgreich ist eine solche Anwendung allerdings nur, wenn sie von allen Beteiligten akzeptiert und auch benutzt wird.<\/p>\n<p>Wenn Sie die Anwendung eine Weile ausprobieren, wird mit der Zeit je nach Einsatzbereich noch der eine oder andere Wunsch nach Anpassung oder Erg&auml;nzung dieser Anwendung auftauchen.<\/p>\n<p>Wenn sich dabei Ideen herauskristallisieren, die nicht nur f&uuml;r Ihr Unternehmen, sondern auch f&uuml;r andere interessant sein k&ouml;nnten, scheuen Sie sich nicht, uns Ihre Vorschl&auml;ge mitzuteilen. Bitte verwenden Sie dazu die folgende E-Mail-Adresse:<\/p>\n<p>andre@minhorst.com<\/p>\n<p>Die eingehenden Vorschl&auml;ge werden in eine m&ouml;gliche Fortsetzung des vorliegenden Beitrags einflie&szlig;en &#8211; vielleicht resultiert aus Ihren Ideen aber auch der eine oder andere eigenst&auml;ndige Beitrag.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Aufgabenverwaltung.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/1FA0CBA2-C333-41FB-9269-B00142A9FA04\/aiu_92.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Organisation der eigenen Aufgaben ist nicht immer leicht &#8211; vor allem, wenn man sich nicht nur mit einer, sondern mit mehreren Aufgaben gleichzeitig besch&auml;ftigt. Noch schwieriger wird es, wenn die Aufgaben ganzer Projektteams koordiniert werden wollen &#8211; nur Genies beherrschen das unter Umst&auml;nden entstehende Chaos. Daher sollten Sie sich schnellstens an die Entwicklung einer Aufgabenverwaltung begeben, um &uuml;ber Ihre und die Aufgaben Ihrer Mitarbeiter nicht den &Uuml;berblick zu verlieren &#8211; vor allem aber, um die richtigen Priorit&auml;ten zu setzen. Damit Sie dabei alles im Griff haben, finden Sie im vorliegenden Beitrag die passende Musterl&ouml;sung.<\/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":[66012003,662003,44000027],"tags":[],"class_list":["post-55000092","post","type-post","status-publish","format-standard","hentry","category-66012003","category-662003","category-Loesungen"],"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>Aufgabenverwaltung mit Access - 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\/Aufgabenverwaltung_mit_Access\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Aufgabenverwaltung mit Access\" \/>\n<meta property=\"og:description\" content=\"Die Organisation der eigenen Aufgaben ist nicht immer leicht - vor allem, wenn man sich nicht nur mit einer, sondern mit mehreren Aufgaben gleichzeitig besch&auml;ftigt. Noch schwieriger wird es, wenn die Aufgaben ganzer Projektteams koordiniert werden wollen - nur Genies beherrschen das unter Umst&auml;nden entstehende Chaos. Daher sollten Sie sich schnellstens an die Entwicklung einer Aufgabenverwaltung begeben, um &uuml;ber Ihre und die Aufgaben Ihrer Mitarbeiter nicht den &Uuml;berblick zu verlieren - vor allem aber, um die richtigen Priorit&auml;ten zu setzen. Damit Sie dabei alles im Griff haben, finden Sie im vorliegenden Beitrag die passende Musterl&ouml;sung.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-10T20:19:56+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/1e66a988f0fe45a39c4dd012a74d5feb\" \/>\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=\"25\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Aufgabenverwaltung mit Access\",\"datePublished\":\"2021-02-10T20:19:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/\"},\"wordCount\":4478,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/1e66a988f0fe45a39c4dd012a74d5feb\",\"articleSection\":[\"1\\\/2003\",\"2003\",\"L\u00f6sungen\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/\",\"name\":\"Aufgabenverwaltung mit Access - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/1e66a988f0fe45a39c4dd012a74d5feb\",\"datePublished\":\"2021-02-10T20:19:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/1e66a988f0fe45a39c4dd012a74d5feb\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/1e66a988f0fe45a39c4dd012a74d5feb\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Aufgabenverwaltung_mit_Access\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Aufgabenverwaltung mit Access\"}]},{\"@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":"Aufgabenverwaltung mit Access - 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\/Aufgabenverwaltung_mit_Access\/","og_locale":"de_DE","og_type":"article","og_title":"Aufgabenverwaltung mit Access","og_description":"Die Organisation der eigenen Aufgaben ist nicht immer leicht - vor allem, wenn man sich nicht nur mit einer, sondern mit mehreren Aufgaben gleichzeitig besch&auml;ftigt. Noch schwieriger wird es, wenn die Aufgaben ganzer Projektteams koordiniert werden wollen - nur Genies beherrschen das unter Umst&auml;nden entstehende Chaos. Daher sollten Sie sich schnellstens an die Entwicklung einer Aufgabenverwaltung begeben, um &uuml;ber Ihre und die Aufgaben Ihrer Mitarbeiter nicht den &Uuml;berblick zu verlieren - vor allem aber, um die richtigen Priorit&auml;ten zu setzen. Damit Sie dabei alles im Griff haben, finden Sie im vorliegenden Beitrag die passende Musterl&ouml;sung.","og_url":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-10T20:19:56+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/1e66a988f0fe45a39c4dd012a74d5feb","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"25\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Aufgabenverwaltung mit Access","datePublished":"2021-02-10T20:19:56+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/"},"wordCount":4478,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/1e66a988f0fe45a39c4dd012a74d5feb","articleSection":["1\/2003","2003","L\u00f6sungen"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/","url":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/","name":"Aufgabenverwaltung mit Access - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/1e66a988f0fe45a39c4dd012a74d5feb","datePublished":"2021-02-10T20:19:56+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/1e66a988f0fe45a39c4dd012a74d5feb","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/1e66a988f0fe45a39c4dd012a74d5feb"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Aufgabenverwaltung_mit_Access\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Aufgabenverwaltung mit Access"}]},{"@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\/55000092","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=55000092"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000092\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}