Im Beitrag »Ribbonklassen« haben wir gezeigt, wie Sie das Ribbon allein mit VBA-Code definieren können. Nun wollen wir diese Technik in einer kleinen Beispielanwendung demonstrieren, in der wir eine Adressenliste in einem Formular anzeigen und alle Befehle zu dieser Adressenliste im Ribbon einbauen – also etwa, um einen neuen Datensatz anzulegen, einen bestehenden Datensatz zu löschen oder die Details zu einem Datensatz anzuzeigen.
Wenn Sie einen Adressblock etwa für die Anzeige in einem Bericht oder für anderweitige Nutzung zusammenstellen wollen, stoßen Sie mitunter auf eine anspruchsvolle Aufgabe. Dummerweise sind die Kundentabellen, aus denen die Adressen bezogen werden sollen, immer unterschiedlich aufgebaut. Noch dazu gibt es manchmal nicht nur eine einzige Adresse, sondern Liefer- und Rechnungsadresse. Dabei treten wiederum Unterschiede auf, wo die primäre Adresse eingetragen wird – also die Adresse, die als Rechnungs- und Lieferadresse genutzt wird, wenn nur eine Lieferadresse oder nur eine Rechnungsadresse vorliegt. Dieser Beitrag zeigt eine Funktion, mit der Sie die Adressblöcke für Ihren Einsatzzweck komfortabel zusammenstellen können.
Sie möchten den Anwendern Ihrer Datenbank die Möglichkeit anbieten, neben den eigentlichen Adressdaten auch gleich dazugehörige Geoinformationen einzusehen? Dazu eignen sich sicher die Dienste Google-Maps oder Bing-Maps. Ein Webbrowser-Steuerelement im Formular könnte als Host für jene dienen. Doch der Weg ist steiniger, als erwartet! Wie Sie die auftretenden Probleme lösen können, beschreibt dieser Beitrag.
Ein großer Teil der Kommunikation mit Kunden läuft per E-Mail. Das ist vor allem dann der Fall, wenn der Kunde ein Anliegen per E-Mail vorbringt. Manchmal muss man den Kunden aber auch aus anderen Gründen kontaktieren – beispielsweise, weil eine Lieferung per Post zurückgekommen ist. Wollen Sie dann die Kundenverwaltung öffnen, die E-Mail-Adresse des Kunden ermitteln, nach Outlook wechseln, dort eine neue E-Mail an den Kunden anlegen und Ihre Nachricht samt Betreff von Hand eingeben? Nein, denn die meisten Anfragen lassen sich leicht mit einer geeigneten Vorlage erledigen.
Der Benutzer einer Access-Datenbank will sich nicht damit beschäftigen, Where-Ausdrücke zu definieren, mit denen er die Daten seiner Datenbank filtern kann. Er braucht aussagekräftige Bezeichnungen, mit denen er die gewünschten Daten erhält – am besten mit nicht viel mehr als einem Mausklick. Das ist eine schöne Aufgabe: Also statten wir unsere Anwendung mit einer solchen Möglichkeit aus, die der Benutzer sogar noch mit selbst angewendeten Filterkriterien anreichern kann. Und das, ohne auch nur einen Hauch von SQL zu können.
Wenn Sie auf das Rückgängigmachen von Änderungen an den Daten eines Formulars reagieren wollen, haben Sie mehrere Möglichkeiten. Sie können die beiden Undo-Ereignisse des Formulars selbst und des aktiven Steuerelements nutzen (zumindest theoretisch). Oder Sie verwenden die Tastatur-Ereignisse, um die zum Rückgängigmachen von Änderungen bevorzugt verwendete Escape-Taste abzufangen. Wir stellen die beiden Techniken vor und erklären Vor- und Nachteile.
Wenn der Benutzer Änderungen an den in einem Formular angezeigten Daten vornimmt, sieht er nur noch die geänderten Daten. Was aber, wenn er beispielsweise einen Wert in ein falsches Feld eingetragen hat – zum Beispiel indem er Vorname und Nachname vertauscht? Dann möchte er die Änderung vermutlich rückgängig machen. Aber wie, wenn er den vorherigen Wert nicht mehr in Erinnerung hat? Also erleichtern wir ihm die Arbeit, indem wir die alten Werte neben den entsprechenden Textfeldern anzeigen.