{"id":88012026,"date":"2019-11-08T11:47:22","date_gmt":"2019-11-08T11:47:22","guid":{"rendered":"http:\/\/access-basics.de\/index.php\/88012026.html"},"modified":"2019-11-08T11:47:22","modified_gmt":"2019-11-08T11:47:22","slug":"88012026","status":"publish","type":"page","link":"https:\/\/access-basics.de\/index.php\/88012026","title":{"rendered":"Access [basics] Ausgabe 01\/2026"},"content":{"rendered":"<div class=\"rcp_restricted\"><\/p>\n<p><b>Registrierte Abonnenten finden an dieser Stelle den Download der kompletten Ausgabe im PDF-Format und die Beispieldateien.<\/b><\/p>\n<p>\n<\/div>\n<h3>Berichte [basics]: Bericht als PDF speichern<\/h3>\n<p>Einen Bericht als PDF-Datei zu speichern geh\u00f6rt in vielen Access-Anwendungen zum Alltag: Rechnungen, Lieferscheine, Auswertungen \u2013 all das l\u00e4sst sich direkt aus Access heraus als PDF exportieren und per E-Mail versenden oder archivieren. Access bietet daf\u00fcr gleich mehrere Wege: \u00fcber die Benutzeroberfl\u00e4che f\u00fcr den schnellen Export von Hand, und \u00fcber VBA f\u00fcr den automatisierten Einsatz. In diesem Artikel zeigen wir beide Varianten und gehen besonders auf den VBA-Weg ein, der auch das Filtern des Berichts vor dem Export erlaubt.<\/p>\n<p><a href=\"http:\/\/www.access-basics.de\/index.php\/Berichte_basics_Bericht_als_PDF_speichern.html\">Zum Artikel &#8230;<\/a><\/p>\n<h3>VBA [basics]: Variablen und Datentypen<\/h3>\n<p>Wer mit VBA programmiert, kommt nicht weit, ohne das Konzept der Variablen zu verstehen. Variablen sind gewisserma\u00dfen der Arbeitsspeicher eines Programms: Sie nehmen Werte zwischenzeitlich auf, damit wir damit rechnen, sie vergleichen oder weitergeben k\u00f6nnen. Und damit VBA wei\u00df, was f\u00fcr eine Art von Wert in einer Variablen landet \u2013 eine Zahl, ein Text, ein Datum \u2013, gibt es die Datentypen. Wer die falschen Datentypen w\u00e4hlt, riskiert subtile Fehler, die manchmal erst beim Kunden auftauchen. Wer sie richtig einsetzt, schreibt stabileren und schnelleren Code. In diesem Artikel zeigen wir, wie Variablen deklariert werden, welche Datentypen es gibt und wann man welchen verwendet.<\/p>\n<p><a href=\"http:\/\/www.access-basics.de\/index.php\/VBA_basics_Variablen_und_Datentypen.html\">Zum Artikel &#8230;<\/a><\/p>\n<h3>VBA [basics]: Bedingungen mit If und Select Case<\/h3>\n<p>Programme, die immer nur stur von oben nach unten durchlaufen, sind selten n\u00fctzlich. Erst wenn Code auf unterschiedliche Situationen unterschiedlich reagieren kann, wird er wirklich brauchbar. Genau daf\u00fcr sind Bedingungen da: Sie erm\u00f6glichen es, den Programmfluss abh\u00e4ngig von Werten und Zust\u00e4nden in verschiedene Richtungen zu lenken. In VBA stehen daf\u00fcr zwei Konstrukte zur Verf\u00fcgung \u2013 das <b>If&#8230;Then&#8230;Else<\/b>-Konstrukt f\u00fcr einfache bis mittlere Verzweigungen und <b>Select Case<\/b> f\u00fcr Situationen, in denen man einen Wert gegen viele m\u00f6gliche Auspr\u00e4gungen pr\u00fcfen m\u00f6chte. In diesem Artikel zeigen wir, wie beide funktionieren, wann man welches einsetzt und worauf man dabei achten sollte.<\/p>\n<p><a href=\"http:\/\/www.access-basics.de\/index.php\/VBA_basics_Bedingungen_mit_If_und_Select_Case.html\">Zum Artikel &#8230;<\/a><\/p>\n<h3>VBA [basics]: Schleifen mit For, Do und While<\/h3>\n<p>Einer der gr\u00f6\u00dften Vorteile von Programmcode gegen\u00fcber manueller Arbeit ist die F\u00e4higkeit, eine Aufgabe beliebig oft zu wiederholen \u2013 ohne Erm\u00fcdung, ohne Fehler durch Unachtsamkeit und in Sekundenbruchteilen. Genau daf\u00fcr gibt es Schleifen. In VBA stehen daf\u00fcr mehrere Konstrukte zur Verf\u00fcgung: <b>For&#8230;Next<\/b> f\u00fcr Situationen, in denen man genau wei\u00df, wie oft etwas wiederholt werden soll, <b>For Each&#8230;Next<\/b> zum Durchlaufen von Auflistungen, sowie <b>Do&#8230;Loop<\/b> und <b>While&#8230;Wend<\/b> f\u00fcr F\u00e4lle, in denen die Anzahl der Durchl\u00e4ufe vorab nicht bekannt ist. In diesem Artikel zeigen wir, wie alle diese Konstrukte funktionieren, wo ihre St\u00e4rken liegen und worauf man achten muss.<\/p>\n<p><a href=\"http:\/\/www.access-basics.de\/index.php\/VBA_basics_Schleifen_mit_For,_Do_und_While.html\">Zum Artikel &#8230;<\/a><\/p>\n<h3>VBA [basics]: Eigene Funktionen und Prozeduren<\/h3>\n<p>Wer VBA-Code schreibt, merkt schnell: Bestimmte Abl\u00e4ufe wiederholen sich. Man pr\u00fcft an drei verschiedenen Stellen, ob ein Textfeld leer ist. Man berechnet denselben Wert an zwei verschiedenen Stellen. Man kopiert Code \u2013 und wenn sich etwas \u00e4ndert, muss man es an drei Stellen korrigieren, und vergisst garantiert eine. Die L\u00f6sung daf\u00fcr sind eigene Prozeduren und Funktionen: wiederverwendbare Codebausteine, die man einmal schreibt und beliebig oft aufruft. In diesem Artikel zeigen wir, wie man sie erstellt, wie man Werte \u00fcbergibt und zur\u00fcckbekommt und wie man Code damit sauber strukturiert.<\/p>\n<p><a href=\"http:\/\/www.access-basics.de\/index.php\/VBA_basics_Eigene_Funktionen_und_Prozeduren.html\">Zum Artikel &#8230;<\/a><\/p>\n<h3>VBA [basics]: Fehlerbehandlung mit MZ-Tools<\/h3>\n<p>Im Artikel <b>VBA [basics]: Fehlerbehandlung mit VBA <\/b>(<b>www.access-basics.de\/703<\/b>) haben wir grundlegend erl\u00e4utert, wie Fehlerbehandlung in Access funktioniert, im Artikel <b>VBA [basics]: Laufzeitfehler protokollieren <\/b>(<b>www.access-basics.de\/705<\/b>) haben wir gezeigt, wie man diese Fehler in einer Protokolltabelle verewigen kann. Im vorliegen Artikel wollen wir uns nun ansehen, wie wir die dort beschriebenen Techniken mit so wenig Aufwand wie m\u00f6glich in unseren Code implementieren. Wenn wir es perfekt machen wollen, m\u00fcssen wir immerhin alle Zeilen mit Zeilennummern versehen, au\u00dferdem sollte jede einzelne Prozedur mit einer Fehlerbehandlungsroutine versehen werden. Da dies Schritte enth\u00e4lt, die immer wieder wiederholt werden m\u00fcssen, haben wir zwei M\u00f6glichkeiten: Entweder wir programmieren uns selbst eine L\u00f6sung, mti der wir diese Schritte durchf\u00fchren k\u00f6nnen, oder wir nutzen eine bestehende L\u00f6sung, die wir f\u00fcr wenig Geld bekommen. In diese Fall schauen wir uns letztere Variante an und zeigen, wie wir die MZ-Tools zum Integrieren einer Fehlerbehandlung nutzen k\u00f6nnen.<\/p>\n<p><a href=\"http:\/\/www.access-basics.de\/index.php\/VBA_basics_Fehlerbehandlung_mit_MZTools.html\">Zum Artikel &#8230;<\/a><\/p>\n<h3>VBA [basics]: Laufzeitfehler protokollieren<\/h3>\n<p>Im Artikel VBA [basics]: Fehlerbehandlung mit VBA (www.access-basics.de\/703) haben wir gezeigt, wie die Behandlung von Laufzeitfehlern grunds\u00e4tzlich funktioniert. Darauf aufbauend zeigen wir im vorliegenden Artikel, wie Du die Fehler, die bei einer Anwendung auftreten, in einer Log-Tabelle protokollieren kannst. Dabei speichern wir Fehlerinformationen wie die Fehlernummer, die Beschreibung, die Nummer der fehlerhaften Zeile, das Modul und die Prozedur, in dem der Fehler aufgetreten ist. Das ist vor allem hilfreich, wenn Deine Anwendung von Deinen Kunden oder Mitarbeitern verwendet wird und Du beim Auftreten eines Fehlers Informationen zu diesem Fehler ben\u00f6tigst, ohne dass der Benutzer Dir diese umst\u00e4ndlich in eine E-Mail schreiben oder auf eine andere Weise mitteilen muss.<\/p>\n<p><a href=\"http:\/\/www.access-basics.de\/index.php\/VBA_basics_Laufzeitfehler_protokollieren.html\">Zum Artikel &#8230;<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Berichte [basics]: Bericht als PDF speichern Einen Bericht als PDF-Datei zu speichern geh\u00f6rt in vielen Access-Anwendungen zum Alltag: Rechnungen, Lieferscheine, Auswertungen \u2013 all das l\u00e4sst sich direkt aus Access heraus als PDF exportieren und per<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","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":""},"class_list":["post-88012026","page","type-page","status-publish","hentry"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Access [basics] Ausgabe 01\/2026 - Access [basics]<\/title>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Access [basics] Ausgabe 01\/2026 - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Berichte [basics]: Bericht als PDF speichern Einen Bericht als PDF-Datei zu speichern geh\u00f6rt in vielen Access-Anwendungen zum Alltag: Rechnungen, Lieferscheine, Auswertungen \u2013 all das l\u00e4sst sich direkt aus Access heraus als PDF exportieren und per\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/88012026\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"4\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/88012026#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/88012026\",\"name\":\"Access [basics] Ausgabe 01\/2026 - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"datePublished\":\"2019-11-08T11:47:22+00:00\",\"dateModified\":\"2019-11-08T11:47:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/88012026#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/88012026\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/88012026#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/88012026\",\"url\":\"https:\/\/access-basics.de\/index.php\/88012026\",\"name\":\"Access [basics] Ausgabe 01\/2026\"}}]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/pages\/88012026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=88012026"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/pages\/88012026\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=88012026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}