Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.
Unsere Webseiten benötigen Session-Cookies. Diese scheint Ihr Browser jedoch zu blockieren.
News & Tipps zu Microsoft Access
Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.
In VBA-Routinen in Access ist es regelmäßig erforderlich, Zeichenketten in einzelne Bestandteile zu zerlegen. Sie erhalten zum Beispiel durch einen Import Feldinhalte wie "Herr Dr. Johannes Schmidt" und müssen diese Angaben auf einzelne Felder "Anrede", "Titel", "Vorname" und "Nachname" aufteilen. Wir zeigen in diesem Tipp anhand zahlreicher Praxisbeispiele, welche Möglichkeiten Ihnen VBA dazu bietet.
FRAGE In meiner Datenbank verwende ich in einem Formular ein Unterformular, dessen Datensätze vom Anwender gefiltert werden können. Die aktuelle Auswahl sollte auch gedruckt werden können. Dazu möchte nun mit einer Schaltfläche Bericht drucken im Hauptformular einen Bericht öffnen, der nur die gefilterten Daten aus dem Unterformular ausgibt. Ich schaffe es aber nicht, den Inhalt des Unterformulars korrekt zu referenzieren. Ist das also überhaupt möglich und wenn ja wie?
Nehmen wir an Sie möchten Berichte drucken, in deren Hintergrund ein Wasserzeichen wie "Vertraulich" oder "Entwurf" erscheint. Da Access selbst keine Wasserzeichen-Funktion zur Verfügung stellt, exportieren einige Anwender den Bericht und nutzen zum Beispiel Word, um ein Wasserzeichen in den Hintergrund zu legen. Diesen Aufwand können Sie sich jedoch sparen, denn mit einem kleinen Trick und ein paar einfachen Anpassungen lassen sich Berichte direkt aus Access heraus mit Wasserzeichen ausdrucken.
FRAGE Einige Tabellen in unserer Access-Datenbank müssen in regelmäßigen Abständen aktualisiert werden. Die manuelle Ausführung von Aktualisierungsabfragen ist zeitraubend und wird natürlich auch häufig vergessen. Wir würden den Vorgang daher gerne automatisieren. Ich habe keine entsprechende Option gefunden, aber gibt es eventuell eine möglichst einfache Möglichkeit, ein Makro zeitgesteuert in der Datenbank ablaufen zu lassen?
Mit den April 2025-Updates von Microsoft wird eine kritische Sicherheitslücke in Office 365, 2024, 2021, 2019 und 2016 geschlossen, von der auch Access betroffen ist. Laut offizieller Dokumentation kann nach dem Öffnen einer manipulierten Datenbank unbemerkt Schadcode ausgeführt werden. Über ein Makro könnte so zum Beispiel ein Trojaner oder Virus eingeschleust werden. In dieser Techinfo wird die entdeckte Sicherheitslücke genauer dokumentiert.
Wenn Sie in Ihren Datenbanken VBA-Routinen mit Zugriff auf Tabellen entwickeln, treten regelmäßig Fehler mit kryptischen Fehlernummern und wenig hilfreichen Hinweistexten auf. Lesen Sie in diesem Tipp, wie Sie in diesen Fällen dem Fehler schneller auf die Schliche kommen können. Im ersten Teil hatten wir erläutert, dass Access Fehler aus unteren Schichten (ODBC-Treiber, SQL Server) nicht einfach ignoriert, sondern sie lediglich nicht über das "Err"-Objekt anzeigt. Festgehalten werden die Fehler dennoch in einer Auflistung "Errors" des Objektes "DBEngine" (DAO) oder "Connection" (ADO).
FRAGE Wir importieren per VBA über ein Recordset (rsImport) Daten in eine ebenfalls als Recordset geöffnete Tabelle (rsTabelle). Dabei kann es vorkommen, dass Datensätze mehrfach in den Importdaten vorhanden sind. Es soll jedoch nur der erste zu einer Ordnungsnummer passende Datensatz importiert werden. Wir nutzen momentan eine Lösung, die per "DLookup()" die Zieltabelle durchsucht und bei vorhandener Ordnungsnummer den aktuellen Importdatensatz überspringt. Diese Lösung ist aber recht langsam. Können Sie uns Alternativen, die schneller arbeiten, aufzeigen?
Wenn Sie in Ihren Access-Datenbanken VBA-Routinen mit Zugriff auf Tabellen im Einsatz haben, treten immer wieder Fehler mit kryptischen Fehlernummern und wenig hilfreichen Hinweistexten auf. Die Fehlersuche ist dann häufig zeitaufwändig und nervenaufreibend. Wir zeigen in diesem Tipp mit welchen Techniken Sie den Ursachen durch den Einsatz von wenig bekannten Access-Hilfsmitteln schneller auf die Schliche kommen können.
In den meisten Fällen sind Sie für die kleinen Korrekturen dankbar, die Access über die AutoKorrektur bei der Dateneingabe vornimmt. Aus "dre" wird beispielsweise "der" und "Herrn MÜller" ändert Access automatisch wieder in "Herrn Müller". Sie finden das Dialogfeld über Datei-Access-Optionen-Dokumentprüfung-AutoKorrektur-Optionen. Wenig bekannt ist die Tatsache, dass Sie die AutoKorrektur bei Bedarf auch ganz gezielt für einzelne Felder deaktivieren können.
FRAGE Wir importieren Daten aus verschiedenen Quellen. Dabei kommen Felder unterschiedlicher Länge mit führenden Nullen, also beispielsweise Inhalte wie "000123", "0000045", "006789" vor. Wir möchten die führenden Nullen löschen, kommen hier aber zum Beispiel mit strInhalt = Mid$(Feld, 4) nicht weiter, da mal 3, mal 5 oder mal 2 Nullen vorangestellt sind. Wie lässt sich dieses Problem am elegantesten lösen?
Dieses Blog präsentiert Inhalte aus den E-Mail-Newslettern von SmartTools Publishing. Premium-Beiträge, die mit [S+] gekennzeichnet sind, sind Newsletter-Abonnenten vorbehalten.
Jetzt Abonnent werden
Falls Sie SmartTools Access Weekly noch nicht abonniert haben, können Sie sich jetzt anmelden – kostenlos und innerhalb weniger Minuten! Sie erhalten dann umgehend ein Passwort, das alle Premium-Beiträge für Sie freischaltet.
[S+] Inhalte freischalten
Wenn Sie SmartTools Access Weekly bereits beziehen, geben Sie hier Ihr Abonnenten-Passwort ein, um alle Premium-Beiträge freizuschalten:
Tipp: Sie finden das gültige Passwort immer am Ende der neuesten Ausgabe Ihres Newsletters.