Datenblätter sind schöne Übersichtsdarstellungen. Man wünscht sich hier häufig die Möglichkeit, Werte farblich darzustellen. In meinem Fall sollten alle Werte in einer Spalte in blauer Schrift dargestellt werden. Damit wurde signalisiert, dass für dieses Feld durch Doppelklick eine Zusatzfunktion aufgerufen werden kann.
Eine Möglichkeit, zur farblichen Gestaltung von Werten sind bedingte Formatierungen. Die sind allerdings häufig Performance-Killer. Da ich keine Bedingung auswerten musste, hat hier eine einfache Formateinstellung für die Schrift geholfen.
Das Team um Karl Donaubauer organisiert auch in diesem Jahr wieder eine Access Entwicker Konferenz- die AEK24. Sie findet am 22./23.10.2022 in Nürnberg statt. Um dabei sein zu können, müsst Ihr nicht nach Nürnberg fahren. Es gibt, wie auch im vergangenen Jahr, die Möglichkeit, online teilzunehmen.
Näheres findet Ihr hier:
Programmierer stehen häufig vor der Aufgabe herauszubekommen, ob ein Wert in einem bestimmten Wertebereich liegt. Als Access-Entwickler wünscht man sich da den aus SQL bekannten Operator BETWEEN. Den gibt es aber leider nicht in VBA, oder doch?
Wie man sich diesen Operator mit Hilfe einer eigenen VBA-Funktion in Access basteln kann, möchte ich hier zeigen.
Die 23. Access Entwicklerkonferenz musste 2020 coronabedingt leider abgesagt werden. Das Team um Karl Donaubauer plant für dieses Jahr aber auf jeden Fall eine AEK, je nach Lage in Präsenz oder online.
Geplant ist der 02. und 03.10.2021 in Nürnberg.
Näheres findet Ihr hier:
Die 23. Access Entwicklerkonferenz musste coronabedingt leider abgesagt werden. Das Team um Karl Donaubauer bietet allerdings als kostenloses Trostpflaster eine Teams-Live-Konferenz zum Thema "Access Updates" an.
Macht Euch einen Knoten ins Taschentuch!
Näheres findet Ihr hier:
Als ich letztens in einem recht komplexen Bericht etwas anpassen wollte, war ich erstaunt. Plötzlich hatte sich die Schrift geändert. Viele Labels und Textboxen waren nun zu klein für den vorgesehenen Inhalt. Mit der folgenden kleine Prozedur habe ich schnell den gesamten Bericht inklusive aller Unterberichte auf die gewünschte Schrift geändert.
Die Prozeudur Schriftart_aendern (siehe unten) geht durch alle Textboxen, Labels und Unter-Berichte und stellt die Schrift auf Arial 9 um. Für Unterberichte wird Schriftart_aendern rekursiv aufgerufen.
Es wird vorausgesetzt, dass der Bericht in der Entwurfsansicht geöffntet ist.
Starten kannst Du die Prozedur zum Beispiel im Direktbereich des VBA-Editors mit
call Schriftart_aendern
Wahrscheinlich kennt das jeder Access-Entwickler. Nachträgliche Namensänderungen für Objekte sind echt aufwendig. Da hat der Auftraggeber am Anfang des Projektes von XYZ gesprochen, und dann ändert sich die Sprechweise im Unternehmen. Jetzt soll das Objekt ABC heißen. Damit am Ende auch jeder weiß, was gemeint ist, der Auftraggeber und das Entwicklerteam, muss in den Tabellen, in den Formularen, Abfrage, Berichten und im Programmcode mühevoll umbenannt werden. Eine bange Frage bleibt- Habe ich alle Stellen erwischt?
Seit neustem bin ich glückliche Besitzerin einer Lizenz von Find and Replace. Dieses Tool von Philipp Stiefel und Oliver Straub findet und ersetzt, wenn Ihr es wollt, in allen Objekten der Datenbank, schnell und zuverlässig. Das spart enorm viel Zeit und Nerven.
Vor einem halben Jahr habe ich eine Methode vorgestellt, mit der man Access-Frontends einfach und automatisiert mehreren Anwendern zur Verfügung stellen kann.
Dabei ist sicher gestellt, dass jeder immer die aktuellste Version startet und jeder auch mit einer eigenen Anwendung arbeitet. Die Idee dahinter ist, dass bei jedem Aufruf das Frontend von einem Kopierprogramm in einen Zielordner kopiert und erst von dort gestartet wird.
Siehe hier: Access: Automatisches Verteilen von Frontends
Heute stelle ich Euch ein entsprechendes Kopierprogramm zur Verfügung.
Seit der DSGVO wünschen sich viele Kunden, dass ihre Daten verschlüsselt werden. Also wurde das Access-Backend eines Kunden mit einem Passwort verschlüsselt. Es gibt in dieser Firma aber auch Anwendungen in Word und Excel, die auf diese Datenbank zugreifen und sich Informationen beispielweise für Kundenbriefe oder Kalkulationen ziehen. Während die Word-Anwendung auch mit der verschlüsselten Datenbank super funktioniert hat, meldete die Excel-Anwendung: "Kein zulässiges Kennwort."
In beiden Fällen wurde die Connection via VBA auf die komplett gleiche Art und Weise hergestellt:
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=[Backend-Dateiname mit Pfad]; Jet OLEDB:Database Password=[Passwort]"
Nested Sets (deutsch: Ineinander geschachtelte Mengen) sind eine geniale Methode, um
Hierarchien und Bäume in einer Datenbank abzubilden und zu verwalten.
Vorteile:
Und das ist der Trick:
am
findet die nunmehr 22. AEK-Access Entwickler Konferenz statt.
Die AEK ist eine, von Karl Donaubauer und seinem Team organisierte, 2-tägige Forbildungsveranstaltung für Datenbank-Entwickler. Sie findet bereits seit 1998 jährlich statt und bietet Vorträge rund um das Thema MS Access. Dabei geht es um Neuerungen, Anwendungsdesing, VBA-Programmierung, weiterführende Konzepte und Techniken für Entwickler, SQL-Server-Technologien, .Net, Webanbindung, Trainings und vieles mehr.
Vorgestellt werden regelmäßig auch nützliche Tools und Hilfen für Entwickler.
Überarbeitete Version:
Im Oktober 2017 habe ich Euch das Prozessmeldungsfenster schon einmal vorgestellt. Inzwischen hat die Lösung ein paar kleine Verbesserungen erfahren. So ist es nun möglich, nachdem der Anwender auf das Abbrechen-Symbol geklickt hat, im Meldungsfenster anzuzeigen, was als nächstes passieren wird. Im Bild 1 seht Ihr ein Beispiel für das Aussehen des Meldungsfensters, nachdem auf das Abbrechen-Symbol geklickt wurde.
Access: Prozessmeldungsfenster schaffen Vertrauen:
Datenverarbeitungsaktionen können manchmal länger dauern. Gut, wenn der Anwender des Programms dann Prozessmeldungen erhält, die den Fortschritt sichtbar machen. Das beruhigt, schafft Vertrauen und lässt die Zeit gefühlt schneller vergehen. Im Gegensatz zur VBA-Funktion MsgBox(), ist hier keinerlei Interaktion durch den Anwender nötig. Das Fenster meldet nur laufend den Prozessfortschritt und verschwindet von selbst, wenn der Vorgang abgeschlossen ist. Ich verwende diese oder eine ähnliche Lösung in allen meinen Projekten, nicht nur in Access-Anwendungen sondern auch in Excel-, Word- und VB.net-Projekten.
Für den Fall, dass der Anwender den Vorgang vorzeitig abbrechen möchte, bietet das Meldungsfenster eine Abbrechen-Schaltfäche (Bild 2). Mit dieser Schaltfläche gibt der Anwender dem Programm zu verstehen, dass der Vorgang zum nächst möglichen Zeitpunkt abgebrochen werden soll. Wann das passiert entscheidet der Programmierer.
Access-Anwendungen, die nicht nur von Dir selbst benutzt werden, sollten dringend in ein Frontend und ein Backend aufgeteilt werden. Im Frontend sind alle Anwendungskomponenten wie Formulare, Bericht, Abfragen. Das Backend enthält die Datentabellen mit ihren Beziehungen.
Nur so kann die Weiterentwicklungen der Anwendungskomponenten losgelöst von den Daten stattfinden. Nach Fertigstellung einer neuen Version wird das neue Frontend den Anwendern zur Verfügung gestellt.
Aber wie macht man das am besten?
Eine, wie ich finde, clevere Lösung, Frontends in einer Netzwerkumgebung zur Verfügung zu stellen, möchte ich hier vorstellen.
Auch mit Version 2016 liefert MS Access kein gutes Tool, dass den Entwickler beim Erstellen und Bearbeiten von SQL- Abfragen unterstützt.
Ausgesprochen hilfreich und durchdacht dagegen ist das Access Add-In von Field Effect, LLC.
Der Access-SQL-Editor ist nicht kostenlos. Für mich hat sich allerdings jeder Cent, den ich dafür bezahlt habe, doppelt und dreifach amortisiert.
Nicht nur, dass ich nun viel Zeit spare, es macht einfach Spaß selbst mega-komplexe Abfragen zu schreiben. Auf der Arbeitsfläche des Editors hat man alle Abfragen und Tabellen mit ihren Spalten im Zugriff.
Ein Treeview ist wunderbar für die übersichtliche und leicht verständliche Darstellung von Zusammenhängen und Hirarchien.
ABER:
Systemer sind not amused, wenn zusätzliche Steuerelemente für die Anwendung installiert werden müssen.
UND: Der Programmierer steht vor der bangen Frage: "Läuft mein Programm mit diesem externen Steuerelement auch noch nach dem nächsten Windows- oder Office-Update?". Ich erinnere hier an das Kalendersteuerelement, dass Microsoft vor Jahren nach einem Update knallhart und kaltherzig deaktiviert hat.
Der Ausweg aus dem Delemma: Der Treeview von picoware.
Dieser Lösung braucht kein ActiveX, kein OCX, keine DLL nicht einmal einen API-Call.
Ich habe das Tool erworben, und werde demnächst von meinen praktischen Erfahrungen damit berichten.
Mehr Infos hier: https://www.picoware.de/info/treeview.htm
Die AEK ist eine 2-tägige Forbildungsveranstaltung für Datenbank-Entwickler. Sie findet bereits seit 1998 jährlich statt und bietet Vorträge rund um das Thema MS Access. Dabei geht es um Anwendungsdesing, VBA-Programmierung, weiterführende Konzepte und Techniken für Entwickler, SQL-Server-Technologien, .Net, Webanbindung und vieles mehr. Vorgestellt werden regelmäßig nützliche Tools und Hilfen für Entwickler.
Ich war zum zweiten Mal dabei und habe wieder viele neue Ideen und Erkenntnisse im Gepäck mit nach Hause genommen. Es ist sehr anregend mit der Community der Access-Entwickler ins Gespräch und in den Gedankenaustausch zu kommen, und das ist bei dieser Veranstaltung auch einer der gewollten Nebeneffekte.
Vielen Dank an den Organisator, Karl Donaubauer, und sein Team.
Weitere Infos hier: http://www.donkarl.com/