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.
Aus verschiedenen Gründen ist es immer wieder notwendig, die Größe der aktuellen Datenbank zu überwachen. Beim Erreichen einer bestimmten Größe soll eine Meldung angezeigt werden, so dass zum Beispiel der Anwender eine Archivierung/Auslagerung starten oder der Administrator weitere Schritte unternehmen kann. In diesem Tipp der Woche stellen wir eine entsprechende VBA-Lösung vor und zeigen Schritt für Schritt, wie Sie sie in Ihre Datenbanken integrieren.
FRAGE Wenn ich in meiner Access-Datenbank eine verknüpfte Tabelle mit der rechten Maustaste anklicke, findet sich im Kontextmenü unter anderem der Befehl In lokale Tabelle konvertieren, mit eine Tabelle aus dem Backend ins Frontend geholt wird. Diese Funktion möchte ich gerne programmatisch nutzen, aber ich bin bisher nicht fündig geworden. Gibt es für die nützliche Umwandlung auch eine VBA-Anweisung?
Für einige Anwendungen müssen Sie die aktuelle IP-Adresse des Rechners ermitteln, auf dem eine Datenbank ausgeführt wird. So können Sie beispielsweise Probleme mit Zugriffsrechten im Netzwerk einfacher lösen oder eine Firewall für eventuell notwendige ein- oder ausgehende Verbindungen der Datenbank schneller konfigurieren. Access stellt für eine solche Aufgabe keine Unterstützung bereit, aber mit Hilfe der Windows-API können Sie eine entsprechende Funktion nachrüsten.
FRAGE Über ein Formular "Hauptmenü" wird meine Access-Anwendung gesteuert. Es sind manchmal bis zu 7 Formulare zur gleichen Zeit geöffnet, bis man zu einem bestimmten Ergebnis gelangt. Damit die Übersicht nicht verloren geht, möchte den Anwendern in jedem geöffneten Formular eine Schaltfläche anbieten, über die alle Formulare außer dem Formular "Hauptmenü" in einem einzigen Schritt geschlossen werden können.
In Datenbank werden verschiedene Meldungen per "MsgBox" angezeigt. Dabei kommt es immer wieder vor, dass die Dialoge hinter Formularen verschwinden bzw. davon verdeckt sind. Die Datenbank reagiert dann nicht mehr, da sie auf eine Bestätigung der Meldung wartet. Das verwirrt die Anwender und führt häufig dazu, dass sie von einem Programmabsturz ausgehen. In unserem neuesten SmartTipp für Excel zeigen wir Ihnen daher, wie Sie Meldungsfenster zuverlässig im Vordergrund anzeigen lassen.
Sicherlich haben auch Sie schon einmal festgestellt, dass einige Abfragen bei der ersten Ausführung wesentlich mehr Zeit benötigen als bei jedem nachfolgenden Aufruf. Unser Tipp erläutert die Hintergründe und stellt eine Lösung vor, mit deren Hilfe Sie Ihre Abfragen immer schnellstmöglich ausführen lassen können. Im ersten Teil dieses Tipps hatten wir die Grundlagen gelegt, um Abfragen beim Öffnen einer Datenbank zu prüfen und ggf. ein schneller ausführbares Kompilat zu generieren. Nun kümmern wir uns darum, die automatische Ausführung einzurichten.
FRAGE Da ich in meiner Datenbank Auswahlfelder für Orte getrennt für Postfach und für Straße verwende, die in einer Liste "Orte" zusammengeführt werden, müssen die beteiligten Formulare (Kontaktpersonen, Ort1, Ort2) nach Änderungen oder Neuanlagen gespeichert, d. h. geschlossen werden. Ich möchte hierzu eine Ereignisprozedur einer Schaltfläche Alles speichern programmieren, die alle Formulare schließt und nach dem Öffnen des Formulars "Kontaktpersonen" wieder auf den vor dem Schließen verwendeten Datensatz positioniert. Meine bisherigen Versuche mit "DoCmd.Close" und "DoCmd.OpenForm" führen jedoch nur zu Fehlermeldungen.
Holen Sie sich jetzt das brandneue SmartTools Servicepack 2024 für Access – die ultimative Erweiterung für Ihre Datenbank! Mit zehn neuen Assistenten und Funktionen machen wir Ihre Arbeit mit Access einfacher, effizienter und komfortabler. Und das Beste daran? Alle Funktionen sind komplett kostenlos! Mit dem neuen Servicepack-Manager installieren und deinstallieren Sie die Erweiterungen ganz nach Bedarf einfach per Mausklick.
Sicherlich haben auch Sie schon einmal festgestellt, dass einige Abfragen bei der ersten Ausführung wesentlich mehr Zeit benötigen als bei jedem nachfolgenden Aufruf. Unser Tipp erläutert die Hintergründe und stellt eine Lösung vor, mit deren Hilfe Sie Ihre Abfragen immer schnellstmöglich ausführen lassen können. Die Ursache für dieses Verhalten ist eine spezielle Technik, die Access bei Abfragen verwendet: Wenn Sie eine Abfrage erstellen, speichert Access die Definitionen und Eigenschaften in einer Auflistung "QueryDefs". Weitere Referenzen werden in den Systemtabellen "MSysObjects" und "MSysQueries" festgehalten.
FRAGE Ich möchte in einem Formular meiner Datenbank die Inhalte eines Kombinationsfeldes dynamisch füllen. Gefordert ist die Auswahl eines Monats, wobei zum Zeitpunkt der Eingabe aussschließlich einer der letzten drei Monate augewählt werden darf. Beim Öffnen möchte also ich immer die vergangenen drei Monate ausgehend vom aktuellen Datum im Format <Monat> / <Jahr> (zum Beispiel "August 2024") auflisten. Wie kann diese Auswahl aufbauen und dem Kombinationsfeld zuweisen?
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.