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.
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?
Um möglichst viele Informationen in einem Formular unterbringen zu können, legen Sie Textfelder, Listenfelder oder Kombinationsfelder häufig mit reduzierter Breite an. Das führt dazu, dass längere Inhalte abgeschnitten oder als Fehlerhinweis "######" angezeigt werden. Um den kompletten Inhalt bei Textfeldern lesen zu können, muss in das Textfeld geklickt und der Cursor nach rechts verschoben werden. Bei Listeneinträgen geht das nicht; hier ist immer nur der passende Teil des Feldinhaltes zu sehen. Lesen Sie in diesem Tipp der Woche, wie Sie trotzdem die kompletten Inhalte aller Felder und Listeneinträge schnell einsehen können.
FRAGE Ich erfasse in einem Formular neue Aufträge. Dabei wird auch eine Auftragsnummer erfasst, für die sichergestellt werden muss, dass es keine Duplikate gibt. Ich habe dazu in der Tabelle das entsprechende Feld bei "Indiziert" auf den Wert "Ja (ohne Duplikate)" eingestellt. Das funktioniert gut, aber der Anwender erhält im Formular bei einer Duplikateingabe eine unverständliche Fehlermeldung von Access angezeigt. Gibt es die Möglichkeit, dem Anwender im Formular eine frei wählbare Fehlermeldung bei Duplikatseingabe anzuzeigen?
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.