Wenn Sie Daten in der Datenblattansicht von Unterformularen anzeigen, stoßen Sie immer wieder auf das Problem, dass die Spaltenbreiten nicht gleich zu Beginn optimal an die Inhalte der Spalten angepasst werden – also an die Breite der angezeigten Daten. Immerhin kann der Benutzer die Breite in der Regel selbst anpassen. Praktischer aber wäre es, wenn die Spaltenbreiten gleich beim Anzeigen der Daten optimiert würden. Der vorliegende Beitrag zeigt eine kleine Klasse, mit der Sie dies bewerkstelligen können.
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.
In der Beitragsreihe »Outlook-Mails in Access archivieren« haben wir gezeigt, wie Sie die E-Mails aus kompletten und auch untergeordneten Outlook-Ordnern in eine Access-Datenbank importieren. Das ist die Lösung für den Start der Archivierung. Interessant wird es erst, wenn Sie diese Daten direkt nach dem Eingang in Outlook archivieren. Der vorliegende Beitrag zeigt, wie Sie Outlook so erweitern, dass jede in vorgegebenen Ordnern eingehenende E-Mail direkt in unsere Access-Mail-Archiv weitergeleitet wird.
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.