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.
Listen- und Kombinationsfelder in Access stellen die Methode "AddItem" als Alternative zu einer Werteliste zur Verfügung. Zum Beispiel: Me.lstTest.AddItem "Eintrag 1". Wir zeigen in diesem Tipp, wie Sie diese Methode effektiv nutzen und mögliche Stolperfallen umgehen. Zunächst einmal ist die Frage zu klären, warum man überhaupt "AddItem" statt einer Werteliste nutzen sollte? Tatsächlich können Sie die Einträge für eine Werteliste im Eigenschaftenfenster unter "Datensatzherkunft" aufgrund des schmalen Eingabefeldes nur bis zu einer bestimmten Länge sinnvoll eingeben. Weichen Sie auf VBA aus, um eine Werteliste programmatisch aufzubauen und über die Eigenschaft "RowSource" zuzuweisen, führt dies möglicherweise zu einem Laufzeitfehler 2176, "Die Einstellung dieser Eigenschaft ist zu lang", weil die Zeichenkette nur maximal 32 Kb lang sein darf. Die Anzahl der Einträge ist also bei einer Werteliste beschränkt. Verwenden Sie stattdessen "AddItem" für den Aufbau der Liste, können Sie beliebig viele Einträge hinzufügen.
FRAGE In meiner Access-Datenbank verwende ich in einem Formular ein Memofeld, das in einigen Fällen sehr viel Text enthalten kann. Zum Teil werden die Informationen aus anderen Anwendungen übernommen. Das ist natürlich über die Zwischenablage möglich, aber ich möchte eine Funktion integrieren, um den gesamten Inhalt einer TXT-Datei in das Memofeld einzulesen. Können Sie mir einige Anhaltspunkte geben, wie das mit VBA zu realisieren ist?
Manchmal müssen Sie Datensätze nicht nur innerhalb der aktuellen Datenbank mit einem eindeutigen Primärschlüssel verwalten. Wenn Datenbanken beispielsweise in mehreren Filialen eingesetzt und übergreifende, eindeutige Ordnungsbegriffe verlangt werden, scheiden AutoWerte aus, da sie standardmäßig von "1" bis "n" hochgezählt werden und somit nicht in jeder Datenbank eindeutig sind. Helfen können hier sogenannte "GUIDs" (Global Unique Identifier Groups, Globale eindeutige Identifizierungsgruppen wie "482658DC-14E4-4FBF-AD5E4D877737AE31"). Leider lassen sich solche Felder nicht im Tabellenentwurf einrichten, aber mit einem Trick kommen Sie dennoch zum Ziel.
FRAGE : Ich möchte die Anzahl der Abfragen in meiner Access-Datenbank reduzieren und erstelle dazu verschiedene Parameterabfragen. In einigen Fällen wird die Ausführung programmatisch gestartet. Ich möchte zum Beispiel per VBA eine Abfrage ausführen, bei der verschiedene Parameter definiert sind und Werte dafür an die Abfrage übergeben werden müssen. Dies soll abhängig von Inhalten einzelner Variablen erfolgen. Wie gehe ich hier am besten vor?
Bei der täglichen Arbeit mit Datenbanken sind schnell mehrere Formulare zur Bearbeitung von Daten und Berichte zur Kontrolle in der Seitenvorschau gleichzeitig geöffnet und man findet nichts mehr wieder. Ordnung schaffen Sie mit einer VBA-Prozedur, die wir in diesem Tipp vorstellen. Sie bauen die Lösung in Ihre Formulare ein und mit einem Mausklick werden alle Formulare bis auf das geschlossen, aus dem Sie die Prozedur aufgerufen haben.
Manchmal müssen Sie Datensätze nicht nur innerhalb der aktuellen Datenbank mit einem eindeutigen Primärschlüssel verwalten. Wenn Datenbanken beispielsweise in mehreren Filialen eingesetzt und übergreifende, eindeutige Ordnungsbegriffe verlangt werden, scheiden AutoWerte aus, da sie standardmäßig von "1" bis "n" hochgezählt werden und somit nicht in jeder Datenbank eindeutig sind. Helfen können hier sogenannte "GUIDs" (Global Unique Identifier Groups, Globale eindeutige Identifizierungsgruppen wie "482658DC-14E4-4FBF-AD5E4D877737AE31"). Leider lassen sich solche Felder nicht im Tabellenentwurf einrichten, aber mit unserem Tipp kommen Sie dennoch zum Ziel.
FRAGE Ich möchte per VBA auf eine andere Access-Datenbank zugreifen. Konkret soll unter bestimmten Bedingungen eine Tabelle in einer anderen Datenbank entfernt werden. Mit welchem Befehl kann ich also Tabellen aus Datenbank "A" in Datenbank "B" löschen? Die Anweisung DoCmd.DeleteObject acTable, "Name" bezieht sich leider immer nur auf die aktuelle Datenbank und stellt keinen Parameter zur Adressierung einer externen Datenbank bereit.
In Ihren Datenbanken verwenden Sie Makros beispielsweise für den Datenimport. Wenn bei der Ausführung die angegebene Datei nicht gefunden werden kann, bricht das Makro mit einer wenig aussagekräftigen Fehlermeldung ab. Eine Fehlerbehandlung mit eigenen, aussagekräftigeren Fehlermeldungen ist in Makros aber nur unzureichend realisierbar. Sie können zwar mit der Aktion "BeiFehler" das Verhalten im Falle eines Fehlers mit den Optionen "Nächstes" (Fehler ignorieren), "Makro" (anderes Makro aufrufen) oder "Fehlgeschlagen" (Standardmeldung "Makrofehler" anzeigen) kontrollieren, aber auch diese Möglichkeiten reichen nur in wenigen Fällen aus, da Sie zum Beispiel nicht festlegen können, wie es nach dem Aufruf eines anderen Makros weitergehen soll. Deshalb greifen wir zu einem Trick.
FRAGE Ich nutze in einem Formular ein mehrspaltiges Kombinationsfeld, das auf einer Abfrage basiert. Die erste Spalte entspricht dem Primärschlüssel "Kundennummer" der dem Formular zugrunde liegenden Datenbasis. Nach Auswahl eines Eintrages im Kombinationsfeld sollen im Formular nur die Datensätze zum entsprechenden Kunden angezeigt werden. Außerdem möchte ich nach der Auswahl die 2., 3., und 4. Spalte der Auswahl in drei Feldern im Formular anzeigen lassen.
Bereits im Juni 2022 hat Microsoft die Unterstützung des Internet Explorers komplett eingestellt. Das alte Webbrowser-Steuerelement von Access nutzt die HTML-Engine des Internet Explorers, aber damals hat Microsoft versichert, dass das Ende des Internet Explorers nicht das Ende des Webbrowser-Steuerelements bedeutet. Die HTML-Engine namens "Trident" sollte noch mindestens bis 2029 unterstützt werden. So sollten alle Access-Entwickler ausreichend Zeit haben, ihre Anwendungen auf das neue auf Edge basierende Steuerelement umzustellen. Vollkommen überraschend hat Microsoft diese Zusage jetzt zurückgezogen. Nach Angaben des Access-Teams wird das alte Webbrowser-Steuerelement bereits nach Juni 2026 nicht mehr funktionieren.
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.