{"id":55000048,"date":"2002-02-01T00:00:00","date_gmt":"2021-02-02T17:53:05","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=48"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Verleihen_und_Entleihen_mit_Access_und_Outlook","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/","title":{"rendered":"Verleihen und Entleihen mit Access und Outlook"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/3debb460f9ec4b6d9afddf3eac79cd80\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Autor: Andr&eacute; Minhorst, Duisburg<\/p>\n<p><\/b><\/p>\n<p><b>Das Entleihen und Verleihen spielt im Berufs- wie auch im Privatleben eine gro&szlig;e Rolle. Wer kauft sich schon alles selbst, wenn ein Freund, Bekannter oder Arbeitskollege den gew&uuml;nschten Gegenstand besitzt und man diesen nur f&uuml;r kurze Zeit ben&ouml;tigt Und hier fangen die Sorgen an: Je mehr man entleiht und verleiht, desto eher verliert man den &uuml;berblick, wem was geh&ouml;rt und wem man was geliehen hat. Um Ordnung in die Welt des Leihens zu bringen, verwenden Sie &#8211; wie soll es schon anders sein &#8211; nat&uuml;rlich eine Datenbankanwendung.<\/b><\/p>\n<p>Falls Sie beispielsweise eine umfangreiche CD- oder Videosammlung mit offenem Zugang f&uuml;r Freunde und Arbeitskollegen besitzen oder selbst gerne mal B&uuml;cher aus der Bibliothek leihen, es ist immer gut zu wissen, welche Ihrer Besitzt&uuml;mer kurz- oder langfristig ihren Standort gewechselt haben, wo sie sich befinden und vor allem bis wann. Das gilt nat&uuml;rlich auch f&uuml;r Dinge, die Sie selbst entliehen haben.<\/p>\n<p>Interessant ist dabei vor allem die M&ouml;glichkeit, hin und wieder an die F&auml;lligkeit der B&uuml;cher aus der Stadtbibliothek erinnert zu werden, und es ist auch sch&ouml;n, wenn man nicht erst nach einem halben Jahr den Videofilm in seiner Sammlung findet, den man nur f&uuml;r ein Wochenende leihen wollte.<\/p>\n<h3>Hinweis<\/h3>\n<p>Eine komplette Anleitung zum Erstellen der hier vorgestellten Datenbank w&uuml;rde den Rahmen des Beitrags bei weitem sprengen. Daher verweist der Beitrag hin und wieder darauf, den Quellcode in der Beispieldatenbank einzusehen. <\/p>\n<p>Um diesen allt&auml;glichen und nervenden Problemen aus dem Weg zu gehen, verwenden Sie eine Datenbankanwendung. Mit Hilfe geeigneter Formulare k&ouml;nnen Sie eingeben, wann Sie was von wem entliehen haben und wann Sie es zur&uuml;ckgeben m&ouml;chten bzw. m&uuml;ssen. Das Gleiche gilt f&uuml;r die andere Richtung: Auch die verliehenen Gegenst&auml;nde soll die Datenbank aufnehmen.<\/p>\n<p>Und damit das Ganze richtig praktisch wird, ziehen Sie Microsoft Outlook hinzu: Auf Knopfdruck soll die Access-Datenbank einen Eintrag in Ihrem Terminkalender erstellen, der Sie rechtzeitig an die R&uuml;ckgabe erinnert.<\/p>\n<p>Das Datenmodell besteht im Groben aus drei Tabellen. Dabei handelt es sich um die Tabellen tblPersonen, tblGegenstaende und tblVerleih.<\/p>\n<p><b>Die Tabellen<\/b><\/p>\n<p>In den folgenden Abschnitten erhalten Sie einen &uuml;berblick &uuml;ber die Tabellen der Datenbank und deren Beziehungen.<\/p>\n<h3>Die Tabelle tblKontakte<\/h3>\n<p>Die Tabelle tblKontakte soll nicht nur Personen, sondern auch Institutionen wie die Bibliothek, den Videoverleih und andere aufnehmen &#8211; also einfach alles und jeden, mit dem Sie irgendwie in ein Leihgesch&auml;ft verwickelt werden k&ouml;nnen.<\/p>\n<p>Um die Struktur der Tabelle m&ouml;glichst einfach zu halten, soll sie neben dem Namen der Institution oder der Person lediglich die Adressdaten sowie Telefonnummer, Faxnummer und E-Mailadresse enthalten (siehe Bild 1).<\/p>\n<h3>Die Tabelle tblGegenstaende<\/h3>\n<p>Die Tabelle tblGegenstaende beinhaltet alle Gegenst&auml;nde, die Sie verleihen oder entleihen. Auch hier sollen zun&auml;chst zur die unbedingt ben&ouml;tigten Informationen gespeichert werden (siehe Bild 2).<\/p>\n<p><IMG height=\"204\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic001.png\" width=\"284\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Felder der Tabelle tblKontakte<\/span><\/b><\/p>\n<p><IMG height=\"123\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic002.png\" width=\"285\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Die Tabelle tblGegenstaende<\/span><\/b><\/p>\n<p><IMG height=\"210\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic003.png\" width=\"285\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Die Tabelle tblVerleih<\/span><\/b><\/p>\n<h3>Die Tabelle tblVerleih<\/h3>\n<p>Die Tabelle tblVerleih (siehe Bild 3) verbindet die beiden Tabellen tblKontakte und tblGegenstaende miteinander. Sie ist der eigentliche Kern des Datenmodells. Jeder Datensatz der Tabelle enth&auml;lt einen Verweis auf einen Kontakt, der in den Leihvorgang verwickelt ist, einen Verweis auf den entsprechenden Gegenstand sowie einige weitere Informationen.<\/p>\n<p>Dazu geh&ouml;ren das Verleihdatum, das Datum, an dem die R&uuml;ckgabe sp&auml;testens erfolgen soll, sowie das Datum der tats&auml;chlichen R&uuml;ckgabe. Da die Datenbank auch die M&ouml;glichkeit einer Fristverl&auml;ngerung ber&uuml;cksichtigen soll, enth&auml;lt diese Tabelle ein Feld f&uuml;r die Angabe der Anzahl der Verl&auml;ngerungen. Schlie&szlig;lich enth&auml;lt sie noch das Feld AnOutlook, in dem gespeichert wird, ob der R&uuml;ckgabetermin in den Outlook-Kalender eingetragen werden soll.<\/p>\n<h3>Weitere Tabellen<\/h3>\n<p>Es gibt noch zwei weitere Tabellen, die allerdings nur als Hilfstabellen zu betrachten sind: Die Tabelle tblGeliehenOderVerliehen enth&auml;lt lediglich die beiden Eintr&auml;ge Geliehen und Verliehen. Sie dient als Datensatzherkunft f&uuml;r das Nachschlagefeld GeliehenOderVerliehenID der Tabelle tblVerleih.<\/p>\n<p>Die Tabelle tblGegenstandArten enth&auml;lt die unterschiedlichen Kategorien zur genaueren Einteilung der Gegenst&auml;nde.<\/p>\n<p><b>Die Beziehungen zwischen denTabellen<\/b><\/p>\n<p>Wenn Sie die Tabellen erstellt haben, k&ouml;nnen Sie die Beziehungen zwischen den Tabellen einstellen. Als Vorlage dient das Beziehungsfenster aus Bild 4.<\/p>\n<p>Legen Sie in den Eigenschaften der Beziehungen jeweils referentielle Integrit&auml;t fest.<\/p>\n<p>Die vier Beziehungen werden in den Tabellen jeweils als Nachschlagefelder ausgef&uuml;hrt. Zur Erstellung der Nachschlagefelder k&ouml;nnen Sie entweder den Assistenten  verwenden oder die Eigenschaften von Hand einstellen.<\/p>\n<p><IMG height=\"268\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic004.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Beziehungsfenster der Datenbank<\/span><\/b><\/p>\n<p><IMG height=\"298\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic005.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Nachschlage-Eigenschaften der Tabelle tblGegenstaende<\/span><\/b><\/p>\n<p><IMG height=\"267\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic006.png\" width=\"338\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Datensatzherkunft des Nachschlagefeldes GegenstandArtID<\/span><\/b><\/p>\n<p>F&uuml;r die zweite M&ouml;glichkeit f&uuml;hren Sie die folgenden Schritte aus (hier am Beispiel der Tabelle tblGegenstaende, deren Feld GegenstandArtID als Nachschlagefeld f&uuml;r die Datens&auml;tze der Tabelle tblGegenstandArten dient):<\/p>\n<li>&ouml;ffnen Sie die Tabelle tblGegenstaende in der Entwurfsansicht.<\/li>\n<li>Wechseln Sie im Bereich Feldeigenschaften in das Register Nachschlagen.<\/li>\n<li>Stellen Sie dort die Eigenschaften wie in Bild 5 ein.<\/li>\n<li>F&uuml;r das Einstellen der Eigenschaft Datensatzherkunft verwenden Sie den Abfrage-Editor. Klicken Sie dazu in das Feld Datensatzherkunft und bet&auml;tigen Sie die nun erscheinende Schaltfl&auml;che mit den drei Punkten (&#8230;).<\/li>\n<li>Erstellen Sie die Abfrage entsprechend Bild 6 und schlie&szlig;en Sie den Editor.<\/li>\n<p>Die verwendete Abfrage enth&auml;lt in der Regel das Prim&auml;rindexfeld der Tabelle sowie das oder die Felder, die das Nachschlagefeld anzeigen soll &#8211; in diesem Fall das Feld GegenstandArtID und das anzuzeigende Feld GegenstandArt.<\/p>\n<p>Legen Sie auf die gleiche Weise die Eigenschaften der anderen Nachschlagefelder fest. Es gibt lediglich eine Besonderheit bei dem Nachschlagefeld KontaktID der Tabelle tblVerleih, das zur Auswahl eines Datensatzes der Tabelle tblKontakte dient. Normalerweise soll ein Nachschlagefeld immer den Inhalt eines festen Feldes der verkn&uuml;pften Tabelle anzeigen.<\/p>\n<p>Die Tabelle tblKontakte kann aber unter Umst&auml;nden nur einen Eintrag im Feld Institution oder einen Eintrag in den Feldern Nachname und Vorname enthalten.<\/p>\n<p>Das Nachschlagefeld soll &#8211; falls vorhanden &#8211; die Institution und ansonsten Nachname und Vorname des Kontaktes anzeigen. Dazu verwenden Sie die folgende Abfrage:<\/p>\n<pre>SELECT KontaktID, IIf(Not IsNull\r\n    ([Institution]),[Institution],\r\n    [Nachname] & IIf(Not IsNull\r\n    ([Vorname]),\", \" & [Vorname],\"\")) \r\n    AS Kontakt\r\nFROM tblKontakte;<\/pre>\n<p>Die Abfrage enth&auml;lt das &uuml;bliche Prim&auml;rindexfeld &#8211; aber statt des &uuml;blicherweise konkret ausgew&auml;hlten anzuzeigenden Feldes einen IIf-Ausdruck, der das Vorhandensein eines Eintrags in das Feld Institution &uuml;berpr&uuml;ft. Falls vorhanden, gibt der IIf-Ausdruck die Institution zur&uuml;ck, ansonsten einen Ausdruck der Form Nachname, Vorname. <\/p>\n<h3>Hinweis<\/h3>\n<p>Sparen Sie sich die M&uuml;he, nun direkt einige Datens&auml;tze einzugeben. Sie werden im n&auml;chsten Kapitel f&uuml;r die Eingabe aller notwendigen Daten entsprechende Formulare erstellen. Sie sollten lediglich f&uuml;r die Tabelle tblGeliehenOderVerliehen zwei Datens&auml;tze entsprechend Bild 7 eingeben. <\/p>\n<p>Die Verleihverwaltung enth&auml;lt insgesamt sechs Formulare, die in den folgenden Abschnitten beschrieben werden.<\/p>\n<p><IMG height=\"121\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic007.png\" width=\"366\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Die Daten der Tabelle tblGeliehenOderVerliehen<\/span><\/b><\/p>\n<p><IMG height=\"249\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic008.png\" width=\"474\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Das Hauptmen&uuml; der Verleihverwaltung<\/span><\/b><\/p>\n<p><IMG height=\"410\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic009.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Entwurfsansicht des Formulars frmNeuerKontakt<\/span><\/b><\/p>\n<p><b>Das Hauptmen&uuml;<\/b><\/p>\n<p>Als Startformular dient das Formular frmHauptmenue (siehe Bild 8). Es steuert den Aufruf der unterschiedlichen Funktionen der Datenbank. Das sind im Wesentlichen die Eingabe von Leihvorg&auml;ngen und die Anzeige von Verleih- und Entleihvorg&auml;ngen.<\/p>\n<p>Die beiden Schaltfl&auml;chen btnListeVerliehen und btnListeGeliehen rufen das gleiche Formular namens frmListe auf. Um dennoch unterschiedliche Inhalte mit dem Formular anzuzeigen, verwendet der Formularaufruf erstens eine entsprechende Where-Bedingung und zweitens ein &ouml;ffnungsargument:<\/p>\n<pre>Private Sub btnListeVerliehen_Click()\r\n    DoCmd.OpenForm \"frmListe\",         WhereCondition:=        \"[GeliehenOderVerliehenID]=1\",        OpenArgs:=1\r\nEnd Sub<\/pre>\n<p>Die Where-Bedingung schr&auml;nkt die Datenherkunft des aufgerufenen Formulars ein, w&auml;hrend das &ouml;ffnungsargument lediglich die Zahl &uuml;bergibt, die einem der beiden Datens&auml;tze der Tabelle tblGeliehenOderVerliehen entspricht. Die Funktion des &ouml;ffnungsargumentes wird in Abschnitt 3.5 genauer beschrieben.<\/p>\n<p><b>Das Formular zur Eingabe vonKontakten<\/b><\/p>\n<p>Das Formular frmNeuerKontakt dient der Eingabe neuer Kontakte, an die Sie etwas verleihen oder von denen Sie etwas entleihen m&ouml;chten.<\/p>\n<p>Das Formular hat die Tabelle tblKontakte als Datenherkunft. Sie k&ouml;nnen die Felder der Tabelle aus der Feldliste wie in Bild 9 in den Detailbereich des Formulars ziehen.<\/p>\n<p>Anschlie&szlig;end erstellen Sie die beiden Schaltfl&auml;chen. Geben Sie ihnen die Namen btnSpeichern und btnAbbrechen.<\/p>\n<p>Der Quellcode hinter der Schaltfl&auml;che Abbrechen schlie&szlig;t das Formular nach dem Verwerfen des aktuellen Datensatzes. Legen Sie die Prozedur aus Quellcode 1 f&uuml;r die Ereigniseigenschaft Beim Klicken der Schaltfl&auml;che btnAbbrechen an.<\/p>\n<pre>Private Sub btnSpeichern_Click()\r\n    If IsNull(Me.Institution) And IsNull(Me.Nachname) _        Then\r\n        MsgBox \"Bitte f&uuml;llen Sie mindestens eines \" _            & \"der beiden Felder Institution oder \" _            & \"Nachname aus.\"\r\n        Exit Sub\r\n    End If\r\n    RunCommand acCmdSaveRecord\r\n    Me.Visible = False\r\nEnd Sub<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p><IMG height=\"244\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic010.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 10:  Entwurfsansicht des Formulars frmNeuerGegenstand<\/span><\/b><\/p>\n<h3>Hinweis<\/h3>\n<p>Weitere Informationen zum Anlegen von Ereignisprozeduren finden Sie im Beitrag Anlegen von Ereignisprozeduren im vorliegenden Heft. <\/p>\n<p>Das Bet&auml;tigen der Schaltfl&auml;che Speichern (s. Quellcode 2) bewirkt zun&auml;chst eine &uuml;berpr&uuml;fung, ob mindestens das Feld Institution oder Nachname ausgef&uuml;llt ist. Die Prozedur l&auml;uft nur weiter, wenn mindestens einer der beiden Werte vorhanden ist. Anderenfalls erscheint eine entsprechende Meldung.<\/p>\n<p><!--30percent--><\/p>\n<p>Wenn die ben&ouml;tigten Daten vorhanden sind, speichert die Prozedur den Datensatz und setzt die Eigenschaft Visible des Formulars auf den Wert False.<\/p>\n<pre>Private Sub btnAbbrechen_Click()\r\n    Me.Undo\r\n    DoCmd.Close acForm, Me.Name\r\nEnd Sub<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<p>Der Hintergrund ist, dass dieses Formular in der Regel von einem anderen Formular aufgerufen wird, welches nach dem Speichern des Datensatzes noch auf die eingegebenen Werte des Formulars zugreifen soll.<\/p>\n<p><b>Das Formular zur Eingabe vonGegenst&auml;nden<\/b><\/p>\n<p>&auml;hnlich aufgebaut ist das Formular frmNeuerGegenstand (siehe Bild 10). Es besitzt als Datenherkunft die Tabelle tblGegenstaende. Die Schaltfl&auml;chen Speichern und Abbrechen besitzen eine Funktionalit&auml;t, die fast mit der Funktionalit&auml;t der entsprechenden Schaltfl&auml;chen des Formulars frmNeuerKontakt identisch ist. Daher soll deren Funktion hier nicht erneut beschrieben werden.<\/p>\n<p>Ein Unterschied ist das Vorhandensein eines Kombinationsfeldes zur Auswahl der Art des neuen Gegenstandes aus der Tabelle tblGegenstandArten. Eigentlich dienen Kombinationsfelder der Auswahl von bestimmten Werten &#8211; in manchen F&auml;llen ist aber auch das Eingeben neuer Werte erforderlich. Damit dazu kein neues Formular ge&ouml;ffnet werden muss, erledigen Sie das direkt im Kombinationsfeld.<\/p>\n<p>Dazu verwenden Sie eine Prozedur, die Sie f&uuml;r die Ereigniseigenschaft Bei Nicht In Liste anlegen. Sie finden die Prozedur im Klassenmodul des Formulars frmGegenstaende in der Beispieldatenbank. Es dient dazu, im Falle der Eingabe eines noch nicht vorhandenen Eintrages einen neuen Datensatz anzulegen und ihn mit dem eingegebenen Wert zu f&uuml;llen.<\/p>\n<p><b>Das Formular zur Eingabe derLeihvorg&auml;nge<\/b><\/p>\n<p>Das Formular frmLeihvorgang ist das Kernst&uuml;ck der Eingabe von neuen Leihvorg&auml;ngen. Hier geben Sie neue Leihvorg&auml;nge ein, und von hier aus k&ouml;nnen Sie die Formulare zur Eingabe von neuen Kontakten und Gegenst&auml;nden &ouml;ffnen. Als Datenherkunft des Formulars dient die Tabelle tblVerleih.<\/p>\n<h3>Steuerelemente des Formulars<\/h3>\n<p>Im Detailbereich des Formulars ben&ouml;tigen Sie sechs Felder dieser Tabelle: GeliehenOderVerliehenID, KontaktID, GegenstandID, VerleihVon, VerleihBis und AnOutlook. Ordnen Sie die entsprechenden Steuerelemente im Detailbereich des Formulars wie in Bild 11 an, indem Sie die Feldliste aktivieren und die Felder per Drag &#038; Drop an die entsprechenden Stellen ziehen.<\/p>\n<p><IMG height=\"327\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic011.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 11:  Das Formular frmLeihvorgang in der Entwurfsansicht<\/span><\/b><\/p>\n<p>Erstellen Sie zus&auml;tzlich schon einmal die f&uuml;nf Schaltfl&auml;chen, denen Sie die Bezeichnungen und Namen aus Tab. 1 zuweisen.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Bezeichnung<\/b><\/p>\n<\/td>\n<td>\n<p><b>Name<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&#8230; (KontaktID)<\/p>\n<\/td>\n<td>\n<p>btnNeuerKontakt<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&#8230; (GegenstandID)<\/p>\n<\/td>\n<td>\n<p>btnNeuerGegenstand<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Aktuelles Datum<\/p>\n<\/td>\n<td>\n<p>btnAktuellesDatum<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Speichern<\/p>\n<\/td>\n<td>\n<p>btnSpeichern<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Abbrechen<\/p>\n<\/td>\n<td>\n<p>btnAbbrechen<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 1: Bezeichnungen und Namen der Schaltfl&auml;chen des Formulars frmLeihvorgang<\/b><\/p>\n<p>Da Sie das gleiche Formular zur Eingabe von verliehenen und entliehenen Gegenst&auml;nden verwenden, m&uuml;ssen einige Beschriftungen wie z. B. Entliehen von: entsprechend angepasst werden. Dazu versehen Sie die Beschriftungsfelder zun&auml;chst einmal mit aussagekr&auml;ftigen Namen, n&auml;mlich lblVonAn f&uuml;r das Beschriftungsfeld mit der Beschriftung Ausgeliehen von, lblVon f&uuml;r Ausgeliehen am und lblBis f&uuml;r Zur&uuml;ckgeben am.<\/p>\n<p>Ob Sie einen neuen Gegenstand ver- oder entleihen, legen Sie durch die Auswahl des entsprechenden Wertes f&uuml;r das Kombinationsfeld GeliehenOderVerliehenID fest. Die Ereignisprozedur, die durch das Ereignis Nach Aktualisierung des Kombinationsfeldes ausgel&ouml;st werden soll, passt die Beschriftung der Beschriftungsfelder an die jeweilige Anforderung an.<\/p>\n<p>Die Ereignisprozedur setzt beispielsweise den Wert der Eigenschaft Caption des Beschriftungsfeldes lblVonAn auf den Wert Ausgeliehen von:, falls im Kombinationsfeld der Wert 1 (Geliehen) ausgew&auml;hlt ist. Anderenfalls erh&auml;lt das Beschriftungsfeld die Beschriftung Verliehen An:.<\/p>\n<h3>Hinweis<\/h3>\n<p>Sie finden die Prozedur im Klassenmodul des Formulars frmLeihvorgang. Es ist dort ausf&uuml;hrlich dokumentiert. <\/p>\n<h3>Funktionen der Schaltfl&auml;chen<\/h3>\n<p>Die erste Schaltfl&auml;che dient dem &ouml;ffnen des Formulars frmNeuerKontakt zur Eingabe eines neuen Kontaktes. Legen Sie die Prozedur aus Quellcode 3 f&uuml;r die Ereigniseigenschaft Beim Klicken der Schaltfl&auml;che btnNeuerKontakt an.<\/p>\n<p>Die Prozedur &ouml;ffnet das Formular mit dem Wert acDialog f&uuml;r den Parameter WindowMode. Das bedeutet, dass die Ausf&uuml;hrung der Prozedur unterbrochen wird, solange das Formular ge&ouml;ffnet ist.<\/p>\n<p>Wie Sie bereits weiter oben erfahren haben, kann das Formular frmNeuerKontakt sich entweder durch die Schaltfl&auml;che btnSpeichern unsichtbar machen oder es schlie&szlig;t sich mit der Schaltfl&auml;che btnAbbrechen.<\/p>\n<p>Die Funktion FormularGeoeffnet (Quellcode 4) &uuml;berpr&uuml;ft, ob ein Formular ge&ouml;ffnet ist oder nicht. Falls das Formular frmNeuerKontakt nur unsichtbar gemacht und danach der Focus an die Prozedur btnNeuerKontakt_Click zur&uuml;ckgegeben wird, findet die Funktion FormularGeoeffnet das Formular frmNeuerKontakt als ge&ouml;ffnet vor. In dem Fall fragt die Prozedur den Inhalt des Feldes KontaktID des Formulars frmNeuerKontakt ab und tr&auml;gt ihn in das Feld KontaktID des Formulars frmVerleih ein.<\/p>\n<pre>Private Sub btnNeuerKontakt_Click()\r\n    DoCmd.OpenForm \"frmNeuerKontakt\",         DataMode:=acFormAdd, WindowMode:=acDialog\r\n    If FormularGeoeffnet(\"frmNeuerKontakt\") Then\r\n        Me.KontaktID.Requery\r\n        Me.KontaktID = Forms!frmNeuerKontakt.KontaktID\r\n        DoCmd.Close acForm, \"frmNeuerKontakt\"\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<pre>Public Function FormularGeoeffnet(Formularname As _    String) As Boolean\r\n    FormularGeoeffnet = SysCmd(acSysCmdGetObjectState, _        acForm, Formularname)\r\nEnd Function<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<p>Anschlie&szlig;end schlie&szlig;t die Prozedur das (noch) offene Formular endg&uuml;ltig.<\/p>\n<h3>Hinweis<\/h3>\n<p>Die Prozedur aus Quellcode 4 legen Sie in einem eigenen Modul an. Wechseln Sie im Datenbankfenster in das Register Module, erstellen Sie ein neues Modul und geben Sie dort die Funktion FormularGeoeffnet ein. Speichern Sie das Modul anschlie&szlig;end unter dem Namen modTools. <\/p>\n<p>Die Schaltfl&auml;che neben dem Kombinationsfeld GegenstandID l&ouml;st eine Prozedur aus, die fast genau die gleiche Funktion wie die eben beschriebene Prozedur hat. Sie bezieht sich lediglich auf das Kombinationsfeld GegenstandID und auf das entsprechende Formular frmNeuerGegenstand.<\/p>\n<p>Die Schaltfl&auml;che btnAktuellesDatum bewirkt die Aktualisierung des Textfeldes VerleihVon auf das aktuelle Datum. Dazu verwendet es die Prozedur aus Quellcode 5, die durch das Ereignis Beim Klicken ausgel&ouml;st wird.<\/p>\n<p>Die Schaltfl&auml;che btnAbbrechen soll lediglich die gemachten Eingaben verwerfen und das Formular schlie&szlig;en. Die entsprechende Ereignisprozedur ist mit der Prozedur der gleichnamigen Schaltfl&auml;che des Formulars frmNeuerKontakt identisch.<\/p>\n<p>Interessanter ist die Funktion der Schaltfl&auml;che btnSpeichern. Legen Sie f&uuml;r die Ereigniseigenschaft Beim Klicken dieser Schaltfl&auml;che die Prozedur aus Quellcode 6 an. Die Prozedur &uuml;berpr&uuml;ft zun&auml;chst, ob der Benutzer alle relevanten Informationen in die entsprechenden Textfelder eingegeben hat. Ist das der Fall, speichert die Prozedur zun&auml;chst den aktuellen Datensatz.<\/p>\n<p>Und dann wird es interessant: Das Formular enth&auml;lt &#8211; wie bereits weiter oben beschrieben &#8211; je ein Kontrollk&auml;stchen, mit dem der Benutzer angeben kann, ob der R&uuml;ckgabetermin in den Outlook-Kalender eingetragen werden soll.<\/p>\n<p>Dieses Feld wird am Ende der Prozedur &uuml;berpr&uuml;ft. Ist der Wert des Feldes Wahr, ruft die Prozedur die Funktion TerminAnOutlook auf, die den gew&uuml;nschten Termin in den Outlook-Kalender eintr&auml;gt, und schlie&szlig;t nach erfolgreicher &uuml;bergabe das Formular frmVerleih.<\/p>\n<p>Die Beschreibung der Funktionen f&uuml;r die &uuml;bergabe an Outlook finden Sie in Kapitel 5.<\/p>\n<pre>Private Sub btnAktuellesDatum_Click()\r\n    Me.VerleihVon = Date\r\nEnd Sub<\/pre>\n<p><b>Quellcode 5<\/b><\/p>\n<p><b>Das Formular zur Anzeige verliehener und ausgeliehener Gegenst&auml;nde<\/b><\/p>\n<p>Wenn Sie nun schon Ihre ver- und entliehenen Gegenst&auml;nde in einer Datenbank speichern, sollen diese auch per Liste dargestellt werden. Dazu verwenden Sie das Formular frmListe. Es dient zur Anzeige der verliehenen als auch der entliehen Gegenst&auml;nde &#8211; je nachdem, wie es ge&ouml;ffnet wird.<\/p>\n<pre>Private Sub btnSpeichern_Click()\r\n    If IsNull(Me.VerleihBis) Or IsNull(Me.VerleihVon) Or IsNull(Me.GegenstandID) Or _        IsNull(Me.GeliehenOderVerliehenID) Or IsNull(Me.KontaktID) Then\r\n        MsgBox \"Bitte f&uuml;llen Sie alle Felder aus.\"\r\n        Exit Sub\r\n    End If\r\n    RunCommand acCmdSaveRecord\r\n    If Me.ctlTerminAnOutlook = True Then\r\n        If TerminAnOutlook(VerleihBis, VerleihID) = True Then\r\n            Me.AnOutlook = True\r\n        End If\r\n    End If\r\n    DoCmd.Close acForm, Me.Name\r\nEnd Sub<\/pre>\n<p><b>Quellcode 6<\/b><\/p>\n<p><IMG height=\"175\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic012.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 12:  Entwurfsansicht des Formulars frmListe<\/span><\/b><\/p>\n<p><IMG height=\"227\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic013.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 13:  Das Formular frmListe in der Formularansicht<\/span><\/b><\/p>\n<p>Wie im Formular frmVerleih gibt es auch hier einige Textelemente, deren Inhalt davon abh&auml;ngt, ob die verliehenen oder die entliehenen Gegenst&auml;nde angezeigt werden sollen.<\/p>\n<p>Um das zu realisieren, &uuml;bergeben die beiden Schaltfl&auml;chen des Formulars frmHauptmenue beim Aufrufen jeweils ein &ouml;ffnungsargument an das Formular frmListe (s. Abschnitt 3.1). Anhand des &uuml;bergebenen Wertes (entweder 1 f&uuml;r verliehene oder 2 f&uuml;r entliehene Gegenst&auml;nde) passt das Formular in der Prozedur, die durch die Ereigniseigenschaft Beim Laden des Formulars ausgel&ouml;st wird, den Inhalt unterschiedlicher Bezeichnungsfelder an (Quellcode siehe Beispieldatenbank).<\/p>\n<h3>Hinweis<\/h3>\n<p>Weitere Informationen zu &ouml;ffnungsargumenten bzw. der Eigenschaft OpenArgs finden Sie in der Online-Hilfe von Access. <\/p>\n<p>Datenherkunft des Formulars ist eine Abfrage, die auf der Tabelle tblVerleih basiert. Die Abfrage zeigt alle Datens&auml;tze an, die noch ver- oder entliehene Gegenst&auml;nde enthalten. Das bedeutet, dass f&uuml;r das Feld RueckgabeAm noch kein Wert eingetragen sein darf. Der entsprechende SQL-Ausdruck lautet folgenderma&szlig;en:<\/p>\n<pre>SELECT VerleihID, _KontaktID, GegenstandID, _GeliehenOderVerliehenID, _VerleihVon, VerleihBis, _RueckgabeAm\r\nFROM tblVerleih\r\nWHERE RueckgabeAm Is Null ORDER BY VerleihBis;<\/pre>\n<p>Bild 12 zeigt die Entwurfsansicht des Formulars. Damit das Formular nicht nur einen, sondern alle Datens&auml;tze der Datenherkunft anzeigt, stellen Sie die Eigenschaft Standardansicht auf den Wert Endlosformular ein.<\/p>\n<pre>Private Sub btnRueckgabe_Click()\r\n    If MsgBox(\"Klicken Sie auf die Schaltfl&auml;che OK, um den Gegenstand als zur&uuml;ck\" _        & \"gegeben zu buchen.\", vbExclamation + vbOKCancel, \"R&uuml;ckgabe\") = vbOK Then\r\n        Me.RueckgabeAm = Date\r\n        If (OutlookTerminLoeschen(VerleihID)) = False Then\r\n            MsgBox \"Der Termin konnte in OL nicht gefunden werden. Bitte l&ouml;schen \" _                & \"Sie ihn von Hand.\", vbOKOnly + vbInformation, \"Termin l&ouml;schen\"\r\n        End If\r\n        Me.Requery\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 7<\/b><\/p>\n<p>Die Schaltfl&auml;che Zur&uuml;ck dient dem Schlie&szlig;en des Formulars. Die Schaltfl&auml;che mit der Beschriftung Liste drucken &ouml;ffnet den Bericht repListe, dessen Beschreibung Sie weiter unten in Kapitel 4 finden.<\/p>\n<p>Wichtig sind die beiden Schaltfl&auml;chen, die sich im Detailbereich des Formulars befinden und dementsprechend f&uuml;r jeden Datensatz angezeigt werden (siehe Bild 13).<\/p>\n<p>Die Schaltfl&auml;che mit der Beschriftung Verl&auml;ngern und dem Namen btnVerlaengern &ouml;ffnet das Formular frmVerlaengern. Die Schaltfl&auml;che R&uuml;ckgabe l&ouml;st die Prozedur aus Quellcode 7 aus.<\/p>\n<p>Die Prozedur bucht nach einer Sicherheitsabfrage den Datensatz als zur&uuml;ckgegeben, indem sie in das Feld RueckgabeAm das aktuelle Datum eintr&auml;gt. Zwischendurch &uuml;berpr&uuml;ft die Prozedur noch, ob f&uuml;r den Leihvorgang ein Eintrag im Outlook-Kalender vorgenommen wurde und l&ouml;scht diesen gegebenenfalls. All dies erfolgt durch die Funktion OutlookTerminLoeschen, die weiter unten in Kapitel 5 beschrieben wird.<\/p>\n<p><b>Das Formular zum Verl&auml;ngern von Leihfristen<\/b><\/p>\n<p>Das Formular frmVerlaengern wird im Formular frmListe durch die Schaltfl&auml;che btnVerlaengern ge&ouml;ffnet. Durch die &uuml;bergabe einer entsprechenden Bedingung wird genau der gew&uuml;nschte Datensatz angezeigt.<\/p>\n<p>Datenherkunft des Formulars ist die Tabelle tblVerleih. Es zeigt die vorhandenen Informationen zu dem ver- oder entliehenen Gegenstand an und bietet die M&ouml;glichkeit, die R&uuml;ckgabe entweder auf ein bestimmtes Datum oder um eine bestimmte Anzahl von Tagen zu verschieben (siehe Bild 14).<\/p>\n<p><IMG height=\"340\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic014.png\" width=\"417\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 14:  Das Formular frmVerlaengerung in der Formularansicht<\/span><\/b><\/p>\n<p>Die unter Leihdaten angezeigten Felder sollen gesperrt sein, da der Anwender die Daten nach dem Anlegen des Datensatzes nicht mehr ver&auml;ndern soll. Dazu &auml;ndern Sie den Wert der Eigenschaft Aktiviert auf Nein und Gesperrt auf Ja.<\/p>\n<p>Im Bereich Verl&auml;ngerung k&ouml;nnen Sie in der Optionsgruppe optgrpVerlaengern die Art der Verl&auml;ngerung ausw&auml;hlen und die entsprechende Zeit bzw. den Zeitpunkt eingeben.<\/p>\n<p>Die Verl&auml;ngerung selbst erfolgt durch Bet&auml;tigen der Schaltfl&auml;che btnVerlaengern. Dies l&ouml;st eine  Prozedur aus, die zun&auml;chst &uuml;berpr&uuml;ft, welches Verl&auml;ngerungsverfahren angewendet wird &#8211; die Verl&auml;ngerung auf ein bestimmtes Datum oder um eine bestimmte Anzahl von Tagen.<\/p>\n<p><IMG height=\"222\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic015.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 15:  Der Bericht repListe in der Vorschau<\/span><\/b><\/p>\n<h3>Hinweis<\/h3>\n<p>Sie finden die Prozedur btnVerlaengern_Click im Klassenmodul des Formulars frmVerlaengern der Beispieldatenbank. <\/p>\n<p>Abh&auml;ngig von der gew&auml;hlten Methode berechnet die Prozedur das neue R&uuml;ckgabedatum.<\/p>\n<p>Anschlie&szlig;end &uuml;berpr&uuml;ft die Prozedur, ob der Leihvorgang bereits in Outlook eingetragen ist. Falls ja, &auml;ndert sie den entsprechenden Eintrag &uuml;ber die Funktion OutlookTerminAendern (s. Kapitel 5) oder fragt den Anwender, ob der Termin nun eingetragen werden soll. Dies erfolgt dann &uuml;ber die Funktion TerminAnOutlook (s. ebenfalls Kapitel 5).<\/p>\n<p>Schlie&szlig;lich erh&ouml;ht die Prozedur noch den Inhalt des Feldes AnzahlVerlaengerungen um den Wert 1.<\/p>\n<p>Der Bericht stellt die Daten wie das Formular frmListe dar und ist &auml;hnlich aufgebaut (siehe Bild 15). Zu erw&auml;hnen ist, dass auch der Bericht sowohl zur Anzeige der verliehenen als auch der entliehenen Gegenst&auml;nde dient. Daher muss der Bericht irgendwoher die Information bekommen, in welche Richtung die Leihgesch&auml;fte gehen. Im Formular frmListe haben Sie hierzu die Eigenschaft OpenArgs verwendet. Leider besitzen Berichte diese Eigenschaft nicht. Allerdings k&ouml;nnen Sie auch von einem Bericht aus auf die Eigenschaften von derzeit ge&ouml;ffneten Formularen zugreifen.<\/p>\n<p>Daher verwenden Sie auch in dem Bericht die Eigenschaft OpenArgs des Formulars frmListe.<\/p>\n<p>Im Bericht werden die entsprechenden Texte (z. B. in der &uuml;berschrift) nicht per VBA zugewiesen. Hier verwenden Sie Textfelder, die beim &ouml;ffnen des Berichts das &ouml;ffnungsargument des Formulars frmListe auslesen und per IIf-Anweisung den anzuzeigenden Text ermitteln. Die Anweisung f&uuml;r die &uuml;berschrift sieht beispielsweise folgenderma&szlig;en aus:<\/p>\n<pre>=Wenn([Formulare]![frmListe].[&ouml;ffnungsargumente]=1;\"Verliehene Gegenst&auml;nde\";\"Entliehene Gegenst&auml;nde\")<\/pre>\n<p>Wenn das &ouml;ffnungsargument den Wert 1 hat, erscheint im Textfeld der Text Verliehene Gegenst&auml;nde, falls nicht, erscheint der Text Entliehene Gegenst&auml;nde.<\/p>\n<p>Damit Access mit Outlook zusammenarbeitet, m&uuml;ssen Sie zun&auml;chst einen Verweis auf die Objektbibliothek von Outlook einrichten. Dazu gehen Sie folgenderma&szlig;en vor:<\/p>\n<li>Aktivieren Sie mit der Tastenkombination Strg + G das Testfenster.<\/li>\n<li>Bet&auml;tigen Sie den Men&uuml;befehl Extras\/Verweise.<\/li>\n<li>W&auml;hlen Sie im nun erscheinenden Dialog den Eintrag Microsoft Outlook x.0 Objekt Library aus (wobei x f&uuml;r Ihre Office-Version steht).<\/li>\n<li>Nun k&ouml;nnen Sie mit dem Erstellen der Funktionen zum Anlegen von Terminen in Ihrem Outlook-Kalender beginnen.<\/li>\n<pre>Function TerminAnOutlook(Datum As Date, _    Nummer As Integer) As Boolean\r\n    DoCmd.Hourglass True\r\n    Dim appOL As Outlook.Application\r\n    Dim nsOL As Outlook.NameSpace\r\n    Dim Kalender As Outlook.MAPIFolder\r\n    Dim Termin As Outlook.AppointmentItem\r\n    TerminAnOutlook = False\r\n    Set appOL = CreateObject(\"Outlook.Application\")\r\n    Set nsOL = appOL.GetNamespace(\"MAPI\")\r\n    Set Kalender = _        nsOL.GetDefaultFolder(olFolderCalendar)\r\n    Set Termin = appOL.CreateItem(1)\r\n    With Termin\r\n        .Start = Datum & \" 8:00:00\"\r\n        .Subject = Titel(Nummer)\r\n        .Body = \"Vorgang\" & Format(Nummer, \"0000\")\r\n        .Save\r\n    End With\r\n    TerminAnOutlook = True\r\n    Set Termin = Nothing\r\n    Set Kalender = Nothing\r\n    Set nsOL = Nothing\r\n    Set appOL = Nothing\r\n    DoCmd.Hourglass False\r\nEnd Function<\/pre>\n<p><b>Quellcode 8<\/b><\/p>\n<li>Dazu legen Sie zun&auml;chst ein neues Modul an und speichern es unter dem Namen modOutlook. Die erste Funktion, die Sie ben&ouml;tigen, dient dem Eintragen eines Termins in Outlook (s. Quellcode 8). <\/li>\n<li>Da die &uuml;bergabe manchmal ein paar Sekunden dauern kann, aktivieren Sie die Sanduhr beim Starten der Funktion per DoCmd.Hourglass True.<\/li>\n<p><IMG height=\"314\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic016.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 16:  Ein Outlook-Termin<\/span><\/b><\/p>\n<li>Als Funktionsparameter dienen das Datum, f&uuml;r das der R&uuml;ckgabetermin eingetragen werden soll, sowie die Nummer des entsprechenden Datensatzes der Tabelle tblVerleih. Die Funktion deklariert zun&auml;chst einmal die ben&ouml;tigten Objektvariablen und erstellt anschlie&szlig;end die entsprechenden Objektinstanzen.<\/li>\n<li>Interessant ist hierbei das Termin-Objekt. Dabei handelt es sich um den eigentlichen Termin, dessen Eigenschaft Start Sie den Wert des Parameters Datum zuweisen.<\/li>\n<li>Es sollen noch zwei weitere Werte eingegeben werden, die Sie auch in Bild 16 finden k&ouml;nnen. F&uuml;r die Eigenschaft Subject, deren Wert unter Betreff: angezeigt wird, soll ein Satz eingetragen werden, der genaue Informationen &uuml;ber den Gegenstand sowie &uuml;ber seine Herkunft gibt &#8211; und, ob Sie ihn zur&uuml;ckgeben m&uuml;ssen oder zur&uuml;ckerhalten.<\/li>\n<li>Dieser Satz wird durch die Funktion Titel ermittelt, deren VBA-Code Sie dem Modul modOutlook der Beispieldatenbank entnehmen. Hier finden Sie auch ausf&uuml;hrliche Kommentare zu der Funktion.<\/li>\n<li>F&uuml;r die Eigenschaft Body, deren Inhalt in dem gro&szlig;en Textfeld der Detailansicht des Termins angezeigt wird, soll ein Eintrag mit dem Format VorgangXXXX vorgenommen werden. XXXX ist dabei ein Platzhalter f&uuml;r die Datensatznummer des Leihvorgangs.<\/li>\n<p><IMG height=\"196\" src=\"..\/fileadmin\/_temp_\/{C0577171-652B-4D76-8F71-6FBEC8E1E053}\/pic017.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 17:  Der neue Termin im Outlook-Kalender<\/span><\/b><\/p>\n<li>Sie k&ouml;nnen die Funktion durch einen Aufruf im Testfenster ausprobieren. Dazu verwenden Sie beispielsweise die folgende Anweisung:<\/li>\n<pre>Debug.Print TerminAnOutlook (\"20.12.2001\",32)<\/pre>\n<li>Als R&uuml;ckgabewert erhalten Sie entweder Wahr, falls der Termin erfolgreich erstellt wurde, oder Falsch, falls dies nicht der Fall ist. Anschlie&szlig;end k&ouml;nnen Sie sich in Outlook von der Erstellung des Termins &uuml;berzeugen (siehe Bild 17).<\/li>\n<li>Es gibt noch zwei weitere Funktionen, die in Zusammenhang mit Outlook verwendet werden: OutlookTerminAendern und OutlookTerminLoeschen.<\/li>\n<li>Die Funktion OutlookTerminAendern wird aufgerufen, wenn im Formular frmVerlaengerung eine Verl&auml;ngerung der R&uuml;ckgabefrist vorgenommen wird. Die Funktion sucht den Eintrag aus den Terminen des Outlook-Kalenders heraus, der als Wert der Eigenschaft Body den entsprechenden Ausdruck mit dem Format VorgangXXXX hat und &auml;ndert dessen Starttermin ab.<\/li>\n<li>Die Funktion OutlookTerminLoeschen funktioniert &auml;hnlich. Der Unterschied ist, dass sie bei der R&uuml;ckgabe eines Gegenstandes ausgel&ouml;st wird und nicht das Startdatum &auml;ndert, sondern den gefundenen Eintrag l&ouml;scht.<\/li>\n<h3>Hinweis<\/h3>\n<p>Sie finden alle Funktionen, die sich auf Outlook beziehen, im Modul modOutlook der Beispieldatenbank. Der Quellcode ist an dieser Stelle ausf&uuml;hrlich dokumentiert. <\/p>\n<li>Die vorliegende Musterl&ouml;sung bietet nur einen kleinen Einblick in die M&ouml;glichkeiten bei der Zusammenarbeit zwischen Access und Outlook.<\/li>\n<li>Auch die Verleihverwaltung selbst kann nur als Grundlage f&uuml;r eine von Ihnen weiterentwickelte und an Ihre Bed&uuml;rfnisse angepasste Anwendung betrachtet werden.<\/li>\n<li>Die vorliegende Version ist sicher eher f&uuml;r den Privatgebrauch gedacht. Sie kann aber leicht in eine professionelle Anwendung umgewandelt werden, z. B. als Datenbank f&uuml;r die Verwaltung des Buchbestandes einer Bibliothek. Dies ist vor allem in Firmen mit einer gro&szlig;en Sammlung an Fachb&uuml;chern sinnvoll. Auch dem Einsatz in Videotheken oder anderen Leihgesch&auml;ften steht nichts mehr im Wege.<\/li>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Verleihdatenbank97.mdb<\/p>\n<p>Verleihdatenbank2000.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/CCB5DDFD-7213-4D55-AC12-84E9AB47F8EF\/aiu_48.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Entleihen und Verleihen spielt im Berufs- wie auch im Privatleben eine gro&szlig;e Rolle. Wer kauft sich schon alles selbst, wenn ein Freund, Bekannter oder Arbeitskollege den gew&uuml;nschten Gegenstand besitzt und man diesen nur f&uuml;r kurze Zeit ben&ouml;tigt Und hier fangen die Sorgen an: Je mehr man entleiht und verleiht, desto eher verliert man den &Uuml;berblick, wem was geh&ouml;rt und wem man was geliehen hat. Um Ordnung in die Welt des Leihens zu bringen, verwenden Sie &#8211; wie soll es schon anders sein &#8211; nat&uuml;rlich eine Datenbankanwendung.<\/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":[66012002,662002,44000027,44000033],"tags":[],"class_list":["post-55000048","post","type-post","status-publish","format-standard","hentry","category-66012002","category-662002","category-Loesungen","category-Outlook"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Verleihen und Entleihen mit Access und Outlook - 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\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verleihen und Entleihen mit Access und Outlook\" \/>\n<meta property=\"og:description\" content=\"Das Entleihen und Verleihen spielt im Berufs- wie auch im Privatleben eine gro&szlig;e Rolle. Wer kauft sich schon alles selbst, wenn ein Freund, Bekannter oder Arbeitskollege den gew&uuml;nschten Gegenstand besitzt und man diesen nur f&uuml;r kurze Zeit ben&ouml;tigt Und hier fangen die Sorgen an: Je mehr man entleiht und verleiht, desto eher verliert man den &Uuml;berblick, wem was geh&ouml;rt und wem man was geliehen hat. Um Ordnung in die Welt des Leihens zu bringen, verwenden Sie - wie soll es schon anders sein - nat&uuml;rlich eine Datenbankanwendung.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-02T17:53:05+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/3debb460f9ec4b6d9afddf3eac79cd80\" \/>\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=\"23\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Verleihen und Entleihen mit Access und Outlook\",\"datePublished\":\"2021-02-02T17:53:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/\"},\"wordCount\":4176,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/3debb460f9ec4b6d9afddf3eac79cd80\",\"articleSection\":[\"1\\\/2002\",\"2002\",\"L\u00f6sungen\",\"Outlook\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/\",\"name\":\"Verleihen und Entleihen mit Access und Outlook - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/3debb460f9ec4b6d9afddf3eac79cd80\",\"datePublished\":\"2021-02-02T17:53:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/3debb460f9ec4b6d9afddf3eac79cd80\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/3debb460f9ec4b6d9afddf3eac79cd80\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verleihen_und_Entleihen_mit_Access_und_Outlook\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verleihen und Entleihen mit Access und Outlook\"}]},{\"@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":"Verleihen und Entleihen mit Access und Outlook - 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\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/","og_locale":"de_DE","og_type":"article","og_title":"Verleihen und Entleihen mit Access und Outlook","og_description":"Das Entleihen und Verleihen spielt im Berufs- wie auch im Privatleben eine gro&szlig;e Rolle. Wer kauft sich schon alles selbst, wenn ein Freund, Bekannter oder Arbeitskollege den gew&uuml;nschten Gegenstand besitzt und man diesen nur f&uuml;r kurze Zeit ben&ouml;tigt Und hier fangen die Sorgen an: Je mehr man entleiht und verleiht, desto eher verliert man den &Uuml;berblick, wem was geh&ouml;rt und wem man was geliehen hat. Um Ordnung in die Welt des Leihens zu bringen, verwenden Sie - wie soll es schon anders sein - nat&uuml;rlich eine Datenbankanwendung.","og_url":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-02T17:53:05+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/3debb460f9ec4b6d9afddf3eac79cd80","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"23\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Verleihen und Entleihen mit Access und Outlook","datePublished":"2021-02-02T17:53:05+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/"},"wordCount":4176,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/3debb460f9ec4b6d9afddf3eac79cd80","articleSection":["1\/2002","2002","L\u00f6sungen","Outlook"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/","url":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/","name":"Verleihen und Entleihen mit Access und Outlook - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/3debb460f9ec4b6d9afddf3eac79cd80","datePublished":"2021-02-02T17:53:05+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/3debb460f9ec4b6d9afddf3eac79cd80","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/3debb460f9ec4b6d9afddf3eac79cd80"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Verleihen_und_Entleihen_mit_Access_und_Outlook\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Verleihen und Entleihen mit Access und Outlook"}]},{"@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\/55000048","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=55000048"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000048\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}