Einige Verknüpfungstabellen für die Herstellung von m:n-Beziehungen verwenden ihre beiden Fremdschlüsselfelder als zusammengesetzten Primärschlüssel. Das ist in manchen Fällen unpraktisch, zum Beispiel, wenn Sie mal die Datensätze dieser Tabelle referenzieren wollen – Sie müssten dann immer gleich zwei Fremdschlüsselfelder in der referenzierenden Tabelle angeben.
Für die eine oder andere Anforderung benötigen Sie das Primärschlüsselfeld beziehungsweise die Primärschlüsselfelder einer Tabelle. Dieser Beitrag liefert zwei Funktionen, mit denen dies möglich ist.
Den Titel des Access-Fensters können Sie manuell oder per VBA ändern. Dieser Beitrag stellt beide Methoden vor.
Wenn Sie herausfinden wollen, welche Tabellen über ein Fremdschlüsselfeld mit einer gegebenen Tabelle verknüpft sind, benötigen Sie ein paar Zeilen DAO-Code. Die hier vorgestellte Funktion erwartet den Namen der zu untersuchenden Tabelle und enthält zwei weitere Parameter, die zur Rückgabe der Ergebnisse vorgesehen sind.
Wenn Sie von Access aus einmal ein anderes Fenster aufrufen, möchten Sie vielleicht sicherstellen, dass der Blick nach dem Abschließen der dort durchgeführten Arbeiten wieder bei der Access-Anwendung landet. Wenn Sie etwa von Access aus den Dialog zum Auswählen eines Outlook-Ordners auswählen und das Outlook-Fenster ist zu diesem Zeitpunkt bereits geöffnet, dann gerät nach dem Schließen des Dialogs das Outlook-Fenster in den Vordergrund.
Wer eine Kundendatenbank pflegt, wird früher oder später Dubletten in seiner Datenbank vorfinden. Sei es, weil Kunden sich mit neuer E-Mail und neuer Adresse erneut im Onlineshop anmelden und von dort importiert werden oder weil man bei der Suche nach einem vorhandenen Konto für einen Kunden wegen eines Tippfehlers keinen Treffer landet – langfristig lassen sich doppelte Kundendatensätze nicht verhindern. Aber das ist kein Problem: In Datenbanken lässt sich zum Glück alles nachträglich ändern. Wie dies bei Kundendaten und den damit verknüpften Daten wie etwa Bestellungen funktioniert, erklärt dieser Beitrag.
Wenn Sie Ereignisse auslösen möchten, sobald der Benutzer an irgendeine Stelle eines Datensatzes in der Datenblattansicht klickt, müssen Sie theoretisch für jedes einzelne Steuerelement eine entsprechende Ereignisprozedur anlegen. Bei Formularen mit vielen Feldern kann das recht mühselig werden. Daher stellt dieser Beitrag eine Klasse vor, der Sie das Unterformular in der Datenblattansicht übergeben und die Ihnen Ereignisse für die gängigen Ereignisse wie Klick, Doppelklick et cetera bereitstellt. Diese müssen Sie dann nur noch einfach im Hauptformular implementieren.
Die Archivierungs-Datenbank für Outlook-Mails kann nun schon Mails importieren und bietet eine Suchfunktion für die importierten Mails an. Außerdem können Sie die gefundenen E-Mails mit Outlook öffnen und darin wiederherstellen. Nun wollen wir die Lösung noch so erweitern, dass Sie beispielsweise mehrere Ordner in Outlook auswählen können, deren E-Mails importiert werden sollen. Außerdem soll der Import gleich beim Start der Anwendung gelingen.
Die neuen Tabellenereignisse, die mit Access 2010 eingeführt wurden, erlauben die automatische Sicherung von Tabellendaten vor der Durchführung von Änderungen an den Datensätzen. Dazu legen Sie entsprechende Datenmakros an, die durch die Tabellenereignisse ausgelöst werden. Außerdem benötigen Sie eine Tabelle, welche die geänderten Datensätze speichert. Wenn Sie beides für mehrere Tabellen durchführen wollen, ist dies eine Menge Handarbeit. Grund genug, diesen Vorgang zu automatisieren.
Die Lesbarkeit von Programmcode beschleunigt sowohl die Entwicklung, wie auch die Wartung Ihrer Anwendungen. Wenn Sie ein Freund der VBA-Programmierung sind, so überprüfen Sie Ihre Routinen doch einmal auf Struktur und Gestalt. Gibt es hier Verbesserungspotential?
Die Konstellation von Haupt- und Unterformular zur Darstellung von Daten aus 1:n- beziehungsweise m:n-Beziehungen ist bekannt. Einen Datensatz im Hauptformular zu suchen ist auch kein Hexenwerk. Aber wie sieht es aus, wenn wir das Hauptformular nach den Datensätzen filtern wollen, deren verknüpfte Tabelle einen Datensatz mit einem bestimmten Kriterium enthält? Und wenn wir dann noch einen Schritt weitergehen und noch den ersten passenden Datensatz im Unterformular markieren wollen? Wie dies gelingt, zeigt der vorliegende Beitrag.
Wenn Sie den Titel des aktuellen Fensters, also beispielsweise des Access-Fensters, ermitteln möchten (s. Bild 1), benötigen Sie zwei API-Funktionen und eine VBA-Funktionen, welche die beiden zum Ermitteln des Fenstertitels nutzt.