Ein Kunde fragte, ob es möglich ist, im Text von Memofeldern im Rich-Text-Format auch das Tabulator-Zeichen einzugeben und damit eine strukturiertere Darstellung von Inhalten zu erreichen – vor allem für die Ausgabe in Berichten. Dazu sind mir einige Ideen gekommen, von denen sich aber nicht alle so einfach umsetzen ließen, wie es gedacht war. Schließlich hat sich aber doch noch eine sehr gut programmierbare Lösung herauskristallisiert.
Wenn Sie ein Office 365-Abonnement mit Access verwenden, erhalten Sie neue Funktionen von Access automatisch mit den Office 365-Updates. Es gibt auch noch das nicht im Abo erhältliche Access 2019, mit dem Sie neue Features gegenüber Access 2016 erhalten. In beiden Fällen können Sie die neuen Diagramme von Access nutzen. Dieser Beitrag zeigt, welche Diagrammtypen es gibt, wie Sie diese mit Daten füllen und wie Sie die Diagramme für Ihre Bedürfnisse anpassen können.
Die mit Access 2019/Office 365 eingeführten modernen Diagramme bieten eine VBA-Schnittstelle an, mit der Sie die Diagramme steuern können. Dieser Beitrag zeigt, wie das Objektmodell für moderne Diagramme aussieht und liefert einige Beispiele für die Nutzung der VBA-Steuerung für moderne Diagramme. In einem Fall zeigen wir etwa, wie Sie die Bereiche der Y-Achse für ein Diagramm abhängig von den enthaltenen Werten einstellen können.
Die neuen Diagramme unter Access 2019 und aktuellen Versionen von Office 365 bieten eine moderne Darstellung von Daten. Dem Benutzer bleiben die Möglichkeiten der Anpassung der angezeigten Daten jedoch verwehrt, wenn er nicht gerade in den Entwurf des Formulars oder Berichts mit dem Diagramm eingreift. Also bieten wir ihm die Möglichkeit, verschiedene Aspekte der Darstellung über von uns bereitgestellte Steuerelemente nach seinen Wünschen anzupassen. Im vorliegenden Beitrag schauen wir uns dabei die Wertebereiche von Diagrammen für die primäre und sekundäre y-Achse an.
Im Beitrag »Berechtigungen für Access-Objekte per SQL Server I: Tabellen« haben wir ein Datenmodell entwickelt für die Verwaltung der Berechtigungen verschiedener Benutzergruppen auf die Formulare, Berichte und Steuerelemente einer Access-Anwendung – gesteuert über die jeweilige Anmeldung an der SQL Server-Datenbank. Im zweiten Teil dieser Beitragsreihe haben wir das Formular zum Einstellen der Berechtigungen erstellt. Im dritten Teil zeigen wir nun, wie wir die gespeicherten Berechtigungen nutzen, um Formulare und Steuerelemente vor dem unbefugten Zugriff zu schützen.
Normalerweise legen ein Textfeld an, in das Sie einen Suchbegriff eingeben und die Daten dann in einem oder mehreren Feldern nach diesem Suchbegriff durchsuchen. Oder Sie haben mehrere Suchfelder etwa für Vorname, Nachname et cetera. Dieser Beitrag stellt ein Suchsteuerelement vor, mit dem Sie gezielt nach den Inhalten verschiedener Felder gleichzeitig suchen können. Dabei gibt es mehrere Vorlagen, die vorab festgelegt werden und die der Benutzer dann einstellt, um die Suchbegriffe einzugeben.
Im Beitrag »COM-Add-In für den VBA-Editor« haben wir uns zunächst darum gekümmert, überhaupt eine COM-DLL zu programmieren und diese so in die Registry einzutragen, dass sie beim Starten des VBA-Editors geladen wird und die dort angelegten Ereignisprozeduren ausgelöst wurden. Damit sind wir noch lange nicht fertig. Im vorliegenden Artikel schauen wir uns an, wie Sie dem VBA-Editor Menüeinträge für den Aufruf der im COM-Add-In enthaltenen Funktionen hinzufügen – und zwar für die Menüleiste, die Symbolleiste sowie für Kontextmenüs.
Der VBA-Editor hinkt Visual Studio um Lichtjahre hinterher. Doch es gibt gute Nachrichten: Mit einem COM-Add-In auf Basis von .NET können Sie auch den VBA-Editor noch um Funktionen erweitern. Das zeigen ja auch andere Werkzeugkästen wie etwa die MZ-Tools. Wir wollen in diesem Artikel einmal zeigen, wie Sie ein COM-Add-In in Visual Studio programmieren, das dann beim Öffnen des VBA-Editors zu seiner Erweiterung zur Verfügung steht.
Normalerweise verwenden Sie 1:n-Beziehungen, um die Datensätze zweier Tabellen zu verknüpfen und so Kombinationen aus diesen Datensätzen zu ermöglichen. Oder Sie nutzen die Beziehung für die Verknüpfung mit einer Lookup-Tabelle, welche die Werte für ein Feld liefert. Es geht aber noch anders: Wir wäre es, wenn Sie etwa für ein Feld, dass nur bestimmte Zahlenwerte annehmen können soll, auch eine per 1:n-Beziehung verknüpfte Tabelle hinterlegen? Dieser Beitrag zeigt, welchen praktischen Zweck dies hat und wie Sie dies umsetzen.
In den ersten beiden Teilen der Beitragsreihe haben wir gezeigt, wie Sie die Daten einer Tabelle in Form einer Kreuztabelle ausgeben können. Das ist natürlich auch per Kreuztabellenabfrage möglich, aber wir haben in diesem Fall das Webbrowser-Steuerelement mit einer entsprechenden HTML-Seite verwendet. Der Hintergrund ist, dass wir so Funktionen zum direkten Bearbeiten der Einträge hinzufügen können – vorausgesetzt, dass die Kreuztabelle nur die Werte einer Kombination anzeigt und nicht etwa Domänenfunktionen wie Summen oder Mittelwerte. Wir wollen also die bereits vorhandene Darstellung noch um Funktionen zum Bearbeiten sowie zum Hinzufügen neuer Spalten oder Zeilen erweitern.
Kombinationsfelder enthalten viele Einträge, die Sie durch das Aufklappen des Kombinationsfeldes anzeigen und per Mausklick auswählen können. Wenn Sie mit der Tastatur arbeiten, müssen Sie das Kombinationsfeld erst mit der Taste F4 öffnen und dann mit der Nach oben- oder der Nach unten-Taste den gewünschten Eintrag auswählen, den Sie dann durch Verlassen des Steuerelements bestätigen. Das geht auch einfacher, nämlich mit den beiden Tasten »Nach oben« und »Nach unten«. Es bedarf allerdings einiger Zeilen VBA-Code, die wir in diesem Beitrag vorstellen.
Für den Zugriff auf die Daten einer SQL Server-Datenbank gibt es mehrere Methoden. Die erste ist das Einbinden der Tabellen per ODBC. Sie greifen dann – oberflächlich betrachtet – genau wie auf lokale Daten zu. Die andere, performantere und auch für den Mehrbenutzerbetrieb effizientere Variante, ist der Zugriff über Pass-Through-Abfragen auf gespeicherte Prozeduren. Gespeicherte Prozeduren sind Skripte, die Anweisungen auf dem SQL Server ausgeben und die ihre Ergebnisse, also zum Beispiel gefundene Datensätze, zurückgeben können. Zugriff auf solche gespeicherten Prozeduren erhalten Sie über die Nutzung sogenannter Pass-Through-Abfragen. Wie Sie die gespeicherte Abfragen und Pass-Through-Abfragen kombinieren, um Daten vom SQL Server in Ihre Access-Datenbank zu bekommen, zeigt dieser Beitrag.