{"id":55000391,"date":"2006-10-01T00:00:00","date_gmt":"2020-05-15T16:18:25","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=391"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Makros_Fortgeschrittene_Techniken","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/","title":{"rendered":"Makros: Fortgeschrittene Techniken"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg04.met.vgwort.de\/na\/0d5174a358e948488a6e0007624a3f57\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<h3>Zusammenfassung<\/h3>\n<p>Lernen Sie fortgeschrittene Techniken mit Makros kennen.<\/p>\n<h3>Techniken<\/h3>\n<p>Makros<\/p>\n<h3>Voraussetzungen<\/h3>\n<p>Access 97 und h&ouml;her<\/p>\n<h3>Beispieldatenbank<\/h3>\n<p>Makros97.mdb, Makros00.mdb<\/p>\n<h3><\/h3>\n<p><b>Martin Hoffmann, D&uuml;sseldorf<\/b><\/p>\n<p><b>Nach den Grundlagen im ersten Teil dieser Beitragsreihe legen Sie nun richtig los: Am Beispiel eines Formulars zur Eingabe von Kundendaten erfahren Sie, wie Sie Makros verschiedenen Ereignissen zuweisen, wie Sie Bedingungen in Makros unterbringen und wie Sie die Befehle eines Makros auf mehrere Makros aufteilen.<\/b><\/p>\n<p>Eine wichtige Aufgabe von Makros ist das Auslesen und Ver&auml;ndern von Feldinhalten. Auf diese Weise k&ouml;nnen Werte kopiert, initialisiert oder umgewandelt werden.<\/p>\n<p>Im folgenden Beispiel erstellen Sie ein Makro, welches im Kundenformular frmKunden die Telefonnummer kopiert und diese dann im Feld Telefaxnummer speichert.<\/p>\n<p>Dadurch ersparen Sie sich die erneute Eingabe der in vielen F&auml;llen gleichen Nummer f&uuml;r Telefon und Fax. Ein Klick auf die Schaltfl&auml;che gen&uuml;gt.<\/p>\n<h3>Verweise auf Steuerelemente<\/h3>\n<p>Um innerhalb eines Makros den Inhalt des Feldes Telefonnummer auslesen zu k&ouml;nnen, m&uuml;ssen Sie einen Verweis auf dieses Steuerelement erstellen. Die Syntax eines solchen Verweises lautet in der Kurzform:<\/p>\n<pre>Formulare!&lt;Formularname&gt;!&lt;Steuerelementname&gt;<\/pre>\n<p>Diesen vollst&auml;ndigen Verweis m&uuml;ssen Sie angeben, wenn Sie von au&szlig;erhalb des Formulars auf Steuerelemente zugreifen m&ouml;chten. Im Beispiel soll die Schaltfl&auml;che zum Kopieren der Telefonnummer jedoch im Kundenformular platziert werden. Es reicht deshalb aus, den Namen des Steuerelements anzugeben. Als Formularname wird automatisch das Formular eingesetzt, von dem aus das Makro aufgerufen wird. Der Verweis lautet also lediglich:<\/p>\n<pre>&lt;Steuerelementname&gt;<\/pre>\n<h3>Erstellen der Schaltfl&auml;che<\/h3>\n<p>Im Abschnitt Erstellen eines Hauptmen&uuml;s des ersten Teils dieser Beitragsreihe (s. Shortlink 373) haben Sie zun&auml;chst ein Makro und anschlie&szlig;end per Drag-and-Drop die entsprechende Schaltfl&auml;che im Formular angelegt. Zum Erstellen der Schaltfl&auml;che im Kundenformular gehen Sie den umgekehrten Weg.<\/p>\n<p><IMG height=\"319\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Legen Sie eine Befehlsschaltfl&auml;che f&uuml;r das Makro an.<\/span><\/b><\/p>\n<p>Sie f&uuml;gen zuerst die Schaltfl&auml;che in das Formular ein und anschlie&szlig;end legen Sie &uuml;ber den Makro-Editor die Aktionen fest.<\/p>\n<p>&ouml;ffnen Sie das Kundenformular in der Entwurfsansicht. Das Formular enth&auml;lt ein Register, in dem die Kundendaten &uuml;bersichtlich gruppiert sind.<\/p>\n<p>Im zweiten Registerblatt finden Sie die Telefon- und Telefaxnummer. Hier ist der richtige Platz f&uuml;r die Schaltfl&auml;che. Klicken Sie auf das Register Kommunikation, um es zu aktivieren und die Steuerelemente sichtbar zu machen.<\/p>\n<p>&ouml;ffnen Sie nun die Toolbox &uuml;ber das gleichnamige Symbol in der Symbolleiste und legen Sie im Register eine neue Befehlsschaltfl&auml;che rechts neben der Telefaxnummer an (siehe Bild 1).<\/p>\n<p>Geben Sie nun der Befehlsschaltfl&auml;che im Eigenschaftsfenster den Namen btnTelefon&uuml;bernehmen. Als Beschriftung tragen Sie Telefonnummer &uuml;bernehmen ein.<\/p>\n<h3>Anlegen des Makros<\/h3>\n<p>Die Telefonnummer soll bei einem Klick auf die Schaltfl&auml;che in das Telefaxfeld kopiert werden. <\/p>\n<p>Sie ben&ouml;tigen also eine Verkn&uuml;pfung des Makros mit der Eigenschaft Beim Klicken der Schaltfl&auml;che. Aktivieren Sie im Eigenschaftsfenster der Schaltfl&auml;che das Register Ereignis und klicken Sie auf die Editor-Schaltfl&auml;che rechts neben der Eigenschaft Beim Klicken (siehe Bild 2).<\/p>\n<p>Im folgenden Dialog w&auml;hlen Sie den Makro-Generator aus der Liste und best&auml;tigen mit OK (siehe Bild 3).<\/p>\n<p>Access &ouml;ffnet dann sofort ein neues, leeres Makrofenster und fordert Sie zur Eingabe eines Namens auf, unter dem es das Makro speichert. Geben Sie den Namen makTelefon&uuml;bernehmen ein.<\/p>\n<p><IMG height=\"266\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic002.png\" width=\"393\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  So rufen Sie den Dialog zur Auswahl des Makro-Generators auf.<\/span><\/b><\/p>\n<p><IMG height=\"182\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic003.png\" width=\"284\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  W&auml;hlen Sie den Generator aus.<\/span><\/b><\/p>\n<h3>Eingeben der ben&ouml;tigten Aktionen<\/h3>\n<p>Das Makro ist jetzt f&uuml;r die Eingabe der Aktionen bereit. Da Sie den Inhalt des Feldes Telefaxnummer ver&auml;ndern m&uuml;ssen, ist die erste Aktion die SetzenWert-Aktion. Damit weisen Sie einem Feld einen Ausdruck zu. Dies kann eine Berechnung, eine fester Wert oder wie in diesem Fall der Inhalt eines anderen Feldes sein.<\/p>\n<p><IMG height=\"181\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic004.png\" width=\"462\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Kopieren Sie Daten mit der SetzenWert-Aktion.<\/span><\/b><\/p>\n<p><IMG height=\"171\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic005.png\" width=\"484\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Sie aktualisieren Felder mit der Aktion AktualisierenDaten.<\/span><\/b><\/p>\n<p><IMG height=\"368\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic006.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  So funktioniert das &uuml;bernehmen der Telefonnummer per Knopfdruck.<\/span><\/b><\/p>\n<p>W&auml;hlen Sie die SetzenWert-Aktion aus der Liste aus und tragen Sie im Argument Feld den Ausdruck TelefaxGesch&auml;ftlich ein. <\/p>\n<p>Da Sie das Makro vom Formular Kunden aus aufrufen, bezieht sich der relative Verweis auf das Steuerelement dieses Formulars. W&uuml;rde die Schaltfl&auml;che beispielsweise in einem anderen Formular liegen, m&uuml;ssten Sie den vollst&auml;ndigen Ausdruck Formulare!frmKunden!TelefaxGesch&auml;ftlich angeben.<\/p>\n<h3>Hinweis<\/h3>\n<p>Achten Sie bei der Eingabe von Feldnamen in Ausdr&uuml;cken darauf, dass diese in eckige Klammern gesetzt werden m&uuml;ssen, wenn sie Sonderzeichen enthalten. Zum Beispiel werden [Kunden-Nr] oder [Kunden Nummer] ohne eckige Klammern von Access nicht oder falsch interpretiert. In der Beispieldatenbank Makros.mdb kommen deshalb in keinem Feldnamen Sonderzeichen vor &#8211; ein Problem weniger, auf das Sie achten m&uuml;ssen. Au&szlig;erdem setzt Access Feldnamen ohne Sonderzeichen automatisch in eckige Klammern, wie in Bild 4 zu sehen ist. <\/p>\n<p>Der Wert, den das Feld erhalten soll, steht im Steuerelement TelefonGesch&auml;ftlich des gleichen Formulars. Geben Sie diesen Namen im Parameter Ausdruck an.<\/p>\n<p>Damit nach dem Kopieren der neue Inhalt des Feldes TelefaxGesch&auml;ftlich sichtbar wird, m&uuml;ssen Sie das Feld noch aktualisieren. Dies geschieht mit der Aktion AktualisierenDaten. Als Steuerelementnamen tragen Sie im gleichnamigen Aktionsargument TelefaxGesch&auml;ftlich ein (siehe Bild 5).<\/p>\n<p>Sichern Sie die &auml;nderungen am Makro mit dem Men&uuml;befehl Datei\/Speichern. Beim Schlie&szlig;en des Makros tr&auml;gt Access automatisch den zuvor gegebenen Makronamen in der Eigenschaft BeimKlicken der Schaltfl&auml;che ein.<\/p>\n<p>Um die neue Funktion auszuprobieren, wechseln Sie in die Formularansicht und aktivieren das Register Kommunikation. Legen Sie zu Testzwecken einen neuen Kunden an und geben Sie eine Telefonnummer ein. Klicken Sie anschlie&szlig;end auf die Schaltfl&auml;che Telefonnummer &uuml;bernehmen. Die Telefonnummer erscheint dann im Feld Telefax gesch&auml;ftlich (siehe Bild 6).<\/p>\n<p><IMG height=\"182\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic007.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Die Spalte Bedingung wird eingeblendet.<\/span><\/b><\/p>\n<p><!--30percent--><\/p>\n<p>Einen Nachteil hat das Makro jedoch. Wenn im Feld Telefaxnummer bereits ein Eintrag vorhanden ist, wird dieser beim Ausf&uuml;hren des Makros &uuml;berschrieben. Im folgenden Abschnitt wird Ihnen deshalb eine verbesserte Version vorgestellt, bei der eine Sicherheitsabfrage vor versehentlichem &uuml;berschreiben sch&uuml;tzt.<\/p>\n<p>Normalerweise werden alle Aktionen eines Makros von oben nach unten abgearbeitet. Um eine bedingte Ausf&uuml;hrung von Makro-Aktionen zu realisieren, stellt das Makrofenster die Spalte Bedingung zur Verf&uuml;gung. Sie blenden die Spalte &uuml;ber das gleichnamige Symbol in der Symbolleiste oder &uuml;ber den Men&uuml;befehl Ansicht\/Bedingungen ein (siehe Bild 7).<\/p>\n<p>In dieser Spalte k&ouml;nnen Sie zu jeder Aktion einen Ausdruck eingeben. Wenn Sie das Makro starten, wird zun&auml;chst der Ausdruck ausgewertet. Ergibt der Ausdruck den logischen Wert Wahr, f&uuml;hrt Access die Aktion aus. Ist das Ergebnis des Ausdrucks Falsch, wird die Aktion &uuml;bersprungen.<\/p>\n<p>Damit Access den Ausdruck auswerten kann, muss dieser eine ganz bestimmte Form haben. Sie k&ouml;nnen nicht einfach einen Text oder Zahlen als Ausdruck eingeben. Das Ergebnis des Ausdrucks muss entweder den Wert Wahr oder Falsch haben. Sie m&uuml;ssen folglich logische Ausdr&uuml;cke in die Spalte Bedingung eintragen. Dies ist in den meisten F&auml;llen ein Vergleich. So kann zum Beispiel der Ausdruck<\/p>\n<pre>[Rechnungsdatum]&lt;Datum()<\/pre>\n<p>je nach Tagesdatum den Wert Wahr oder Falsch annehmen.<\/p>\n<p>Als Bedingung k&ouml;nnen Sie au&szlig;erdem Funktionen eingeben, die Bool&#8220;sche Werte Wahr oder Falsch zur&uuml;ckliefern.<\/p>\n<p>Im Zusammenhang mit Steuerelementen hat die Funktion IstNull eine besondere Bedeutung.<\/p>\n<p>Damit k&ouml;nnen Sie &uuml;berpr&uuml;fen, ob ein Steuerelement einen Feldinhalt hat. F&uuml;r das Beispiel mit der Telefaxnummer lautet der Ausdruck:<\/p>\n<pre>IstNull([TelefaxGesch&auml;ftlich])<\/pre>\n<p>Das Ergebnis lautet Wahr, wenn keine Telefaxnummer eingetragen ist, anderenfalls lautet das Ergebnis Falsch.<\/p>\n<h3>Makro anpassen<\/h3>\n<p>Nehmen Sie nun die Ver&auml;nderungen am Makro makTelefon&uuml;bernehmen vor. F&uuml;hren Sie dazu die folgenden Schritte aus:<\/p>\n<li>&ouml;ffnen Sie das Makro in der Entwurfsansicht.<\/li>\n<li>Speichern Sie es unter dem Namen makTelefon&uuml;bernehmen_verbessert ab. Verwenden Sie dazu den Men&uuml;befehl Datei\/Speichern unter.<\/li>\n<li>Blenden Sie die Spalte Bedingung &uuml;ber den gleichnamigen Befehl im Men&uuml; Ansicht ein.<\/li>\n<li>Tragen Sie vor der Aktion SetzenWert die Bedingung IstNull([TelefaxGesch&auml;ftlich]) ein.<\/li>\n<p>Die Bedingung wirkt sich nur auf die erste Aktion aus. Ist das Feld TelefaxGesch&auml;ftlich leer, wird die Telefonnummer eingesetzt. Steht bereits eine Faxnummer in diesem Feld, wird sie nicht &uuml;berschrieben.<\/p>\n<p><IMG height=\"182\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic008.png\" width=\"467\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Dies ist ein verbessertes Makro mit Bedingung.<\/span><\/b><\/p>\n<p>Die Aktion AktualisierenDaten wird im Moment immer ausgef&uuml;hrt. Dies ist aber &uuml;berfl&uuml;ssig, wenn sich der Wert im Feld Telefaxnummer nicht &auml;ndert. Damit das Makro diese Aktion nur zusammen mit der Aktion SetzenWert ausf&uuml;hrt, k&ouml;nnten Sie der Zeile die gleiche Bedingung voranstellen.<\/p>\n<p>Das bedeutet aber nicht nur mehr Schreibarbeit, sondern kann auch zu ungewollten Aktionsabl&auml;ufen f&uuml;hren, wenn sich der abgefragte Wert w&auml;hrend der Ausf&uuml;hrung des Makros &auml;ndert.<\/p>\n<p>Um eine Bedingung auf mehrere Aktionen anzuwenden, tragen Sie bei der ersten Aktion die Bedingung ein. Allen folgenden Aktionen, die bei erf&uuml;llter Bedingung mit ausgef&uuml;hrt werden sollen, stellen Sie drei Punkte (&#8230;) als Bedingung voran.<\/p>\n<p>Auf diese Weise definieren Sie einen Aktionsblock. Alle Aktionen dieses Blocks werden nacheinander ausgef&uuml;hrt, wenn die Bedingung erf&uuml;llt ist. Sie werden &uuml;bersprungen, wenn diese nicht zutrifft.<\/p>\n<p>Alle auf den Anweisungsblock folgenden Aktionen ohne drei vorangestellte Punkte werden wieder unabh&auml;ngig vom Ergebnis der Bedingung ausgef&uuml;hrt. Das fertige Makro hat den in Bild 8 dargestellten Aufbau.<\/p>\n<p>Um das Makro zu testen, &ouml;ffnen Sie das Kundenformular in der Entwurfsansicht und w&auml;hlen bei der Eigenschaft Beim Klicken der Schaltfl&auml;che btnTelefon&uuml;bernehmen das Makro mit der Bezeichnung makTelefon&uuml;bernehmen_verbessert aus. Wenn Sie in der Formularansicht auf die Schaltfl&auml;che klicken und es existiert bereits eine Faxnummer, passiert nichts und die Nummer bleibt erhalten.<\/p>\n<p>Eine weitere Verbesserung des Makros erreichen Sie, indem Sie eine Benutzerr&uuml;ckfrage einbauen. &uuml;ber ein Meldungsfenster entscheidet dann der Benutzer, ob eine eingetragene Faxnummer &uuml;berschrieben werden soll. Best&auml;tigt er den Dialog mit Ja, wird &uuml;berschrieben, klickt er auf Nein, bleibt die alte Nummer erhalten.<\/p>\n<p>Es handelt sich hierbei also nicht um eine einfache Bedingung, sondern um eine Bedingung Wenn-Dann-Sonst. Es m&uuml;ssen zwei Aktionsbl&ouml;cke mit einer Bedingung gesteuert werden.<\/p>\n<p>Ist die Bedingung erf&uuml;llt, f&uuml;hrt das Makro den ersten Aktionsblock aus. Ist die Bedingung nicht erf&uuml;llt, wird der zweite Aktionsblock abgearbeitet.<\/p>\n<p>Um die zwei Aktionsbl&ouml;cke voneinander abzugrenzen, stellt Access die Aktion StopMakro bereit. Mit dieser Aktion wird die Ausf&uuml;hrung eines Makros sofort beendet. In Tab. 1 ist beispielhaft eine Beziehung Wenn-Dann-Sonst allgemein dargestellt.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Spalte &#8222;Bedingung&#8220;<\/b><\/p>\n<\/td>\n<td>\n<p><b>Spalte &#8222;Aktion&#8220;<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&lt;Bedingungs-Ausdruck&gt;<\/p>\n<\/td>\n<td>\n<p>Aktion 1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&#8230;<\/p>\n<\/td>\n<td>\n<p>Aktion 2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&#8230;<\/p>\n<\/td>\n<td>\n<p>Aktion 3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&#8230;<\/p>\n<\/td>\n<td>\n<p>StopMakro<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>\n<p>Aktion 4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>\n<p>Aktion 5<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 1: So sieht ein Wenn-Dann-Sonst-Makro aus.<\/b><\/p>\n<p>Ist der Bedingungs-Ausdruck erf&uuml;llt, werden die Aktionen 1 bis 3 ausgef&uuml;hrt und anschlie&szlig;end das Makro mit der StopMakro-Aktion beendet. Ist die Bedingung nicht erf&uuml;llt, &uuml;berspringt das Makro die vorherigen Aktionen, f&uuml;hrt nur die Aktionen 4 und 5 aus und beendet dann das Makro regul&auml;r.<\/p>\n<p>Der zweite Anweisungsblock wird im oben beschriebenen Fall immer ausgef&uuml;hrt, wenn die Bedingung nicht erf&uuml;llt ist. Im Beispiel der Telefaxnummer ist dies der Fall, wenn bereits eine Nummer eingetragen ist.<\/p>\n<p>Zus&auml;tzlich soll dann eine weitere Bedingung abgefragt werden. &uuml;ber ein Meldungsfenster bestimmt der Benutzer selbst, ob die Faxnummer &uuml;berschrieben oder beibehalten wird. Schematisch sieht der Ablauf des Makros wie in Bild 9 aus.<\/p>\n<p><IMG height=\"964\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic009.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Schematischer Ablauf des Makros mit Benutzerr&uuml;ckfrage<\/span><\/b><\/p>\n<p>Der Ablauf l&auml;sst sich leicht in einem Makro nachbilden. Probleme bereitet lediglich die Meldung, &uuml;ber die der Benutzer entscheidet, ob die Faxnummer &uuml;berschrieben werden soll.<\/p>\n<p>Die Aktion Meldung haben Sie bereits ausf&uuml;hrlich kennen gelernt. Die mit dieser Aktion erstellten Meldungen sind jedoch nicht f&uuml;r die Interaktion mit dem Benutzer ausgelegt, da sie nur eine OK-Schaltfl&auml;che hat.<\/p>\n<p>Sie dient vielmehr zum Anzeigen von Hinweisen. Au&szlig;erdem muss f&uuml;r das Beispiel eine Bedingung erzeugt werden.<\/p>\n<p>Zu diesem Zweck gibt es die Funktion Meldung. Sie k&ouml;nnen diese Funktion wie jede andere Funktion in der Spalte Bedingung verwenden.<\/p>\n<p>Die Funktion hat die folgende Syntax:<\/p>\n<pre>Meldung(&lt;Meldung&gt;;&lt;Typ&gt;; &lt;Titel&gt;)<\/pre>\n<p>Mit dem Parameter Meldung definieren Sie den Text, den das Meldungsfenster anzeigt. Es muss sich hierbei um eine Zeichenkette handeln, das hei&szlig;t, der Meldungstext steht zwischen Anf&uuml;hrungszeichen.<\/p>\n<p>Gleiches gilt f&uuml;r den Parameter Titel. Er definiert den Meldungsfenstertitel. Der Parameter Typ entscheidet &uuml;ber das Aussehen des Meldungsfensters. Mit diesem numerischen Wert legen Sie fest, welche Schaltfl&auml;chen und welche Symbole erscheinen sollen.<\/p>\n<p>In Tab. 2 und Tab. 3 sind die Zahlenwerte f&uuml;r die m&ouml;glichen Symbol- und Schaltfl&auml;chenkombinationen aufgelistet.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Symboltyp<\/b><\/p>\n<\/td>\n<td>\n<p><b>Wert<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Ohne Symbol<\/p>\n<\/td>\n<td>\n<p>  0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Kritisch<\/p>\n<\/td>\n<td>\n<p>16<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Warnmeldung ()<\/p>\n<\/td>\n<td>\n<p>32<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Warnmeldung (!)<\/p>\n<\/td>\n<td>\n<p>48<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Information<\/p>\n<\/td>\n<td>\n<p>64<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 2: M&ouml;gliche Symbole f&uuml;r ein Meldungsfenster<\/b><\/p>\n<p><IMG height=\"126\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic010.png\" width=\"458\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 10:  Meldungsfenster mit zwei Schaltfl&auml;chen<\/span><\/b><\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Schaltfl&auml;chenkombinationen<\/b><\/p>\n<\/td>\n<td>\n<p><b>Wert<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>OK<\/p>\n<\/td>\n<td>\n<p>0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>OK, Abbrechen<\/p>\n<\/td>\n<td>\n<p>1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Beenden, Wiederholen, Ignorieren<\/p>\n<\/td>\n<td>\n<p>2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Ja, Nein, Abbrechen<\/p>\n<\/td>\n<td>\n<p>3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Ja, Nein<\/p>\n<\/td>\n<td>\n<p>4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Wiederholen, Abbrechen<\/p>\n<\/td>\n<td>\n<p>5<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 3: M&ouml;gliche Schaltfl&auml;chenkombinationen f&uuml;r ein Meldungsfenster<\/b><\/p>\n<p>Tragen Sie einen dieser Werte in den Parameter Typ ein. Wenn Sie eine Kombination aus Schaltfl&auml;chen und einem bestimmten Symbol erreichen wollen, addieren Sie lediglich die Werte.<\/p>\n<p>Ein Meldungsfenster mit den Schaltfl&auml;chen Ja und Nein und dem Symbol Warnmeldung mit Ausrufezeichen hat folglich den Wert 52 (4 + 48) als Parameter Typ.<\/p>\n<p>Bei Bedarf k&ouml;nnen Sie zu dieser Zahl noch einen dritten Wert hinzuaddieren. Sie legen damit fest, welche Schaltfl&auml;chen standardm&auml;&szlig;ig beim &ouml;ffnen des Meldungsfensters aktiviert sind.<\/p>\n<p>Tab. 4 listet die Werte auf.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Standardm&auml;&szlig;ig aktivierte Schaltfl&auml;che<\/b><\/p>\n<\/td>\n<td>\n<p><b>Wert<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Erste Schaltfl&auml;che<\/p>\n<\/td>\n<td>\n<p>    0<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Zweite Schaltfl&auml;che<\/p>\n<\/td>\n<td>\n<p>256<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Dritte Schaltfl&auml;che<\/p>\n<\/td>\n<td>\n<p>512<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 4: M&ouml;gliche Schaltfl&auml;chenkombinationen f&uuml;r ein Meldungsfenster<\/b><\/p>\n<p>Der folgende Funktionsaufruf erzeugt das Meldungsfenster aus Bild 10:<\/p>\n<pre>Meldung(\"Es ist bereits eine Telefaxnummer vorhanden. Soll diese &uuml;berschrieben werden\";52;\"Achtung\")<\/pre>\n<p>Damit Sie feststellen k&ouml;nnen, welche Schaltfl&auml;che vom Benutzer angeklickt wurde, liefert die Funktion f&uuml;r jede Schaltfl&auml;che einen anderen Wert zur&uuml;ck. Tab. 5 f&uuml;hrt die R&uuml;ckgabewerte der Funktion Meldung auf.<\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Gedr&uuml;ckte Schaltfl&auml;che<\/b><\/p>\n<\/td>\n<td>\n<p><b>Wert<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>OK<\/p>\n<\/td>\n<td>\n<p>1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Abbrechen<\/p>\n<\/td>\n<td>\n<p>2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Beenden<\/p>\n<\/td>\n<td>\n<p>3<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Wiederholen<\/p>\n<\/td>\n<td>\n<p>4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Ignorieren<\/p>\n<\/td>\n<td>\n<p>5<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Ja<\/p>\n<\/td>\n<td>\n<p>6<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Nein<\/p>\n<\/td>\n<td>\n<p>7<\/p>\n<\/td>\n<\/tr>\n<p><b>Tab. 5: Dies sind R&uuml;ckgabewerte der Funktion Meldung.<\/b><\/p>\n<p>Da im Beispiel die Telefaxnummer &uuml;berschrieben werden soll, wenn der Benutzer den Dialog mit Ja best&auml;tigt, lautet die vollst&auml;ndige Bedingung f&uuml;r das Makro:<\/p>\n<pre>Meldung(\"Es ist bereits eine Telefaxnummer vorhanden. Soll diese &uuml;berschrieben werden\";52;\"Achtung\")=6<\/pre>\n<p>In Bild 11 sehen Sie das komplette Makro zum Kopieren der Telefaxnummer mit Benutzerr&uuml;ckfrage.<\/p>\n<p>Wenn keine Faxnummer vorhanden ist, ist die erste Bedingung erf&uuml;llt und der Wert wird gesetzt.<\/p>\n<p>Anschlie&szlig;end endet das Makro durch die StopMakro-Aktion. Ist bereits eine Faxnummer eingetragen, erscheint die Meldung.<\/p>\n<p>Klickt der Benutzer auf Ja, ist die zweite Bedingung erf&uuml;llt und die Faxnummer wird durch die Telefonnummer ersetzt.<\/p>\n<p>Best&auml;tigt der Benutzer den Dialog mit Nein, endet das Makro.<\/p>\n<p><IMG height=\"398\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic011.png\" width=\"478\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 11:  So sieht das vollst&auml;ndige Makro zum Kopieren der Telefaxnummer aus.<\/span><\/b><\/p>\n<p><IMG height=\"342\" src=\"..\/fileadmin\/_temp_\/{6ACC5C76-7758-4363-951B-01DF03FAFF67}\/pic012.png\" width=\"477\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 12:  Rufen Sie ein Makro mit der Ausf&uuml;hrenMakro-Aktion auf.<\/span><\/b><\/p>\n<p>In einem Makro mit Sicherheitsabfrage folgen zwei gleiche Bedingungen aufeinander. Sowohl bei der ersten als auch bei der zweiten Bedingung wird zuerst der Wert der Faxnummer gesetzt und anschlie&szlig;end das Feld aktualisiert.<\/p>\n<p>Zur besseren Gliederung und &uuml;bersichtlichen Gestaltung des Makros k&ouml;nnen diese Aktionen in einem eigenen Makro gespeichert werden.<\/p>\n<p>Ein solches Makro haben Sie bereits mit der ersten Version des Makros unter dem Namen makTelefon&uuml;bernehmen erstellt.<\/p>\n<p>An Stelle der jeweils beiden Aktionen wird dann nur noch das Makro &uuml;ber die Aktion Ausf&uuml;hrenMakro aufgerufen.<\/p>\n<p>Als Argument f&uuml;r die Aktion w&auml;hlen Sie den zuvor genannten Makronamen aus dem Kombinationsfeld aus.<\/p>\n<p>Dieses Auslagern von Aktionsbl&ouml;cken, die mehrmals in anderen Makros wieder verwendet werden, erspart Ihnen viel Schreibarbeit und erh&ouml;ht die &uuml;bersichtlichkeit im Makro.<\/p>\n<p>Die endg&uuml;ltige Version des Makros zum Kopieren der Telefonnummer sehen Sie in Bild 12.<\/p>\n<p>Im dritten Teil dieser Beitragsreihe zum Thema Makros erfahren Sie beispielsweise, wie Sie Makros zur Kontrolle von Benutzereingaben einsetzen &#8211; etwa, um die Eingabe von Daten zu erzwingen.<\/p>\n<p>Au&szlig;erdem stellen wir Ihnen die Realisierung einer Direktsuche in Formularen vor &#8211; nat&uuml;rlich rein makrogesteuert. Auch Dialogfenster spielen in der n&auml;chsten Ausgabe eine Rolle.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Makros00.mdb<\/p>\n<p>Makros97.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{F429E0D6-A28E-4817-AEA8-18F7BC5AABF1}\/acc0506gl01.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nach den Grundlagen im ersten Teil dieser Beitragsreihe legen Sie nun richtig los: Am Beispiel eines Formulars zur Eingabe von Kundendaten erfahren Sie, wie Sie Makros verschiedenen Ereignissen zuweisen, wie Sie Bedingungen in Makros unterbringen und wie Sie die Befehle eines Makros auf mehrere Makros aufteilen.<\/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":[662006,66052006,44000025],"tags":[],"class_list":["post-55000391","post","type-post","status-publish","format-standard","hentry","category-662006","category-66052006","category-VBA_und_Programmiertechniken"],"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>Makros: Fortgeschrittene Techniken - 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\/Makros_Fortgeschrittene_Techniken\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Makros: Fortgeschrittene Techniken\" \/>\n<meta property=\"og:description\" content=\"Nach den Grundlagen im ersten Teil dieser Beitragsreihe legen Sie nun richtig los: Am Beispiel eines Formulars zur Eingabe von Kundendaten erfahren Sie, wie Sie Makros verschiedenen Ereignissen zuweisen, wie Sie Bedingungen in Makros unterbringen und wie Sie die Befehle eines Makros auf mehrere Makros aufteilen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-15T16:18:25+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg04.met.vgwort.de\/na\/0d5174a358e948488a6e0007624a3f57\" \/>\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=\"14\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Makros: Fortgeschrittene Techniken\",\"datePublished\":\"2020-05-15T16:18:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/\"},\"wordCount\":2775,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/0d5174a358e948488a6e0007624a3f57\",\"articleSection\":[\"2006\",\"5\\\/2006\",\"VBA und Programmiertechniken\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/\",\"name\":\"Makros: Fortgeschrittene Techniken - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/0d5174a358e948488a6e0007624a3f57\",\"datePublished\":\"2020-05-15T16:18:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/0d5174a358e948488a6e0007624a3f57\",\"contentUrl\":\"http:\\\/\\\/vg04.met.vgwort.de\\\/na\\\/0d5174a358e948488a6e0007624a3f57\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Makros_Fortgeschrittene_Techniken\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Makros: Fortgeschrittene Techniken\"}]},{\"@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":"Makros: Fortgeschrittene Techniken - 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\/Makros_Fortgeschrittene_Techniken\/","og_locale":"de_DE","og_type":"article","og_title":"Makros: Fortgeschrittene Techniken","og_description":"Nach den Grundlagen im ersten Teil dieser Beitragsreihe legen Sie nun richtig los: Am Beispiel eines Formulars zur Eingabe von Kundendaten erfahren Sie, wie Sie Makros verschiedenen Ereignissen zuweisen, wie Sie Bedingungen in Makros unterbringen und wie Sie die Befehle eines Makros auf mehrere Makros aufteilen.","og_url":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-15T16:18:25+00:00","og_image":[{"url":"http:\/\/vg04.met.vgwort.de\/na\/0d5174a358e948488a6e0007624a3f57","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"14\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Makros: Fortgeschrittene Techniken","datePublished":"2020-05-15T16:18:25+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/"},"wordCount":2775,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/#primaryimage"},"thumbnailUrl":"http:\/\/vg04.met.vgwort.de\/na\/0d5174a358e948488a6e0007624a3f57","articleSection":["2006","5\/2006","VBA und Programmiertechniken"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/","url":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/","name":"Makros: Fortgeschrittene Techniken - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/#primaryimage"},"thumbnailUrl":"http:\/\/vg04.met.vgwort.de\/na\/0d5174a358e948488a6e0007624a3f57","datePublished":"2020-05-15T16:18:25+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/#primaryimage","url":"http:\/\/vg04.met.vgwort.de\/na\/0d5174a358e948488a6e0007624a3f57","contentUrl":"http:\/\/vg04.met.vgwort.de\/na\/0d5174a358e948488a6e0007624a3f57"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Makros_Fortgeschrittene_Techniken\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Makros: Fortgeschrittene Techniken"}]},{"@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\/55000391","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=55000391"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000391\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}