Button-Wizard programmieren

Im Beitrag „Schnelle Schaltflächen mit Stil“ (www.access-im-unternehmen.de/1563) haben wir ein Formular vorgestellt, mit dem wir komfortabel Schaltflächen anlegen können – mit Icon, Beschriftung, passendem Namen und Ereignisprozedur. Dieses Formular lässt sich in dieser Lösung allerdings nur nutzen, wenn es in der gleichen Anwendung enthalten ist, deren Formulare wir damit anpassen wollen. Um dies praktischer zu gestalten, wollen wir die Lösung in einen Assistenten umwandeln, der beim Hinzufügen eines Buttons zu einem Formular automatisch angezeigt wird. Die dazu notwendigen Schritte beschreiben wir in diesem Beitrag.

Weiterlesen

Mit Ordnern und Dateien im TreeView arbeiten, Teil 2

Im ersten Teil dieses Beitrags haben wir die Grundlagen für die Arbeit mit Ordnern und Dateien im TreeView-Steuerelement gelegt: Ordner und Dateien im Explorer anzeigen und öffnen, das Ermitteln des Pfades über die Tabellen-IDs, Kontextmenüs für Ordner- und Datei-Elemente sowie die vollständige Implementierung der Ordner-Operationen Kopieren, Ausschneiden, Einfügen, Umbenennen und Löschen. Im vorliegenden zweiten Teil ergänzen wir die noch fehlenden Datei-Operationen und erörtern die Funktionen im Modul „mdlDateisystem“, welche die TreeView-Änderungen tatsächlich auf das Dateisystem übertragen.

Weiterlesen

Filterformular für alle Fälle: Einbau und Bedienung

Access bietet von Haus aus komfortable Möglichkeiten zum Filtern von Datensätzen – über das Ribbon, das Dropdown-Menü im Spaltenkopf des Datenblatts oder über eigene Filtereigenschaften des Formulars. Diese Lösungen stoßen jedoch schnell an ihre Grenzen, sobald man komplexere Filterbedingungen kombinieren möchte oder dem Benutzer eine moderne, übersichtliche Filteroberfläche bieten will. Wir stellen in dieser zweiteiligen Beitragsreihe ein universell einsetzbares Filterformular vor, das sich mit wenigen Handgriffen in jedes bestehende Formular einbauen lässt. Im ersten Teil zeigen wir, wie das Filterformular eingebaut und bedient wird. Der zweite Teil beleuchtet die Programmierung hinter den Kulissen.

Weiterlesen

Ein Filterformular für alle Fälle: Die Programmierung

Im ersten Teil dieser Beitragsreihe haben wir gezeigt, wie das Filterformular in eine eigene Datenbank eingebaut und bedient wird. In diesem zweiten Teil werfen wir einen Blick hinter die Kulissen: Wie ist das Filterformular aufgebaut, wie erkennt es den Feldtyp aus dem Recordset, wie baut es den SQL-WHERE-String zusammen, wie funktioniert die dynamische Höhenanpassung – und welche technischen Besonderheiten mussten gelöst werden. Einige dieser Lösungen sind nicht auf den ersten Blick offensichtlich, liefern aber wertvolle Denkanstöße für eigene Projekte.

Weiterlesen

Datum schnell per Tastatur einstellen

Die Eingabe von Datumsangaben ist erstens manchmal unkomfortabel und zweitens passiert es oft, dass Benutzer das Datum im falschen Format eingeben. Dem wollen wir mit der Lösung aus diesem Beitrag vorbeugen, indem wir die Eingabe vollständig über die Tasten „Nach oben“, „Nach unten“, „Nach rechts“ und „Nach links“ ermöglichen. Sobald der Benutzer den Fokus auf ein Datumsfeld setzt, wird das aktuelle Datum eingesetzt, sofern das Feld noch leer ist. Dann kann er mit „Nach links“ und „Nach rechts“ zwischen den einzelnen Datumsbestandteilen Tag, Monat und Jahr wechseln und mit den Tasten „Nach oben“ und „Nach unten“ stellt er schrittweise den gewünschten Wert ein. Die Funktionalität bilden wir anschließend auch noch in einer Klasse ab, sodass die Funktion einfach mit zwei Zeilen Code zu einem Datums-Textfeld hinzugefügt werden kann.

Weiterlesen

Datum schnell einstellen mit Klasse

Im Beitrag „Datum schnell per Tastatur einstellen“ (www.access-im-unternehmen.de/1590) haben wir eine Lösung vorgestellt, mit der wir allein über die Tasten „Nach oben“, „Nach unten“, „Nach links“ und „Nach rechts“ das Datum in einem Textfeld einstellen können. Diese Lösung haben wir in diesem Beitrag speziell für ein Textfeld programmiert. Noch effizienter wäre die Lösung, wenn wir die Funktionalität in einer Klasse unterbringen, die man mit wenigen Codezeilen schnell zu einem Datums-Textfeld hinzufügen könnte. Genau das erledigen wir im vorliegenden Beitrag.

Weiterlesen

Form und Subform in der Datenblattansicht per Wizard

Eine immer wiederkehrende Aufgabe in meinem Programmieralltag ist das Erstellen von Formularen, die ein Unterformular mit Daten in der Datenblattansicht enthalten. Das umfasst einige Schritte, die ich immer wieder manuell durchgeführt habe. Bis ich die Lösung für diesen Beitrag programmiert habe. Einen Assistenten, den ich starte, statt im Ribbon den Befehl zum Erstellen eines neuen, leeren Formulars in der Entwurfsansicht aufzurufen. Und der lediglich eine Information benötigt: Welche Tabelle oder Abfrage soll die Daten für das Unterformular bereitstellen? Das Ganze in einem Assistenten verpackt, der in jeder geöffneten Access-Datenbank per Mausklick gestartet werden kann. Nachfolgend finden Sie die Anleitung, wie ich diesen Assistenten erstellt habe und wie er funktioniert.

Weiterlesen

Schnelle Schaltflächen mit Stil

Je schneller ich Ergebnisse beim Programmieren erhalten möchte, desto ungeduldiger werde ich, wenn mich kleinteilige, sich ständig wiederholende Aufgaben aufhalten. In diesem Fall ist vom Anlegen von Schaltflächen die Rede. Ich hätte gern so schnell wie möglich Schaltflächen, welche die von mir gewünschte Beschriftung, einen passenden Namen und je nach Situation ein Icon enthalten. Diese Icons sollen nach meinen Wünschen gestaltet sein – also beispielsweise mit transparentem Hintergrund und ohne Rahmen, sodass nur das Icon und die Beschriftung erscheinen und die Schriftfarbe und Schriftbreite diese als Schaltfläche von den Beschriftungen abhebt. Schließlich sollte auch noch direkt der VBA-Editor mit der passenden Ereignisprozedur geöffnet werden. Das alles umfasst einige Schritte, und auch wenn man eine Schaltfläche einmal formatiert hat und diese dann kopiert und als Vorlage für eine neue Schaltfläche verwendet, muss man noch einige Aspekte selbst hinzufügen. In diesem Beitrag stelle ich daher einen Assistenten vor, mit dem wir Schaltflächen wesentlich schneller und komfortabler anlegen können.

Weiterlesen

Daten anonymisieren per Access-Add-In

Es gibt verschiedene Gründe zum Anonymisieren von Daten. Einer ist, dass man Daten aus Datenschutzgründen verfremden möchte, deren Aufbewahrungsfrist abgelaufen ist, aber die man grundsätzlich noch behalten möchte – zum Beispiel um eine Historie der Umsatzentwicklung zu erhalten und gleichzeitig die Kundendaten nicht unnötig lange vorzuhalten. Ein anderer ist, dass man eine Datenbank zur Ansicht oder für die Weiterentwicklung an einen anderen Software-Entwickler weitergeben möchte. Auch wenn es das Instrument der Vertraulichkeitsvereinbarung gibt, kann es doch nicht schaden, diese Daten erst gar nicht aus dem Haus zu geben. In diesem Beitrag stellen wir ein Add-In vor, das Access eine Funktion zum Anonymisieren von Daten hinzufügt. Das Grundgerüst dazu haben wir bereits im Beitrag „Daten anonymisieren“ (www.access-im-unternehmen.de/1112) vorgestellt. Im vorliegenden Beitrag erweitern und optimieren wir diese Lösung und bauen sie so um, dass sie auch als Add-In auf die Inhalte der aktuellen Datenbank angewendet werden kann.

Weiterlesen

Individueller Standarddatenbankordner je Datenbank

Eines ärgert mich bereits seit Jahrzehnten: Dass man beim Importieren von Objekten aus anderen Datenbanken über den Assistenten immer wieder neu zum jeweiligen Verzeichnis wechseln muss. Dort ist immer das gleiche Verzeichnis voreingestellt. Dieses kann man zwar ändern und so passend für einen Anwendungszweck in einer Datenbank gestalten, aber beim Importieren in die nächste Datenbank muss man das Verzeichnis wieder neu selektieren. Wie schön wäre es, wenn dieser Ordner zumindest immer auf den Ordner eingestellt wird, in dem sich die aktuelle Datenbank befindet. Noch praktischer wäre es, wenn man für jede Anwendung einen individuellen Ordner einstellen könnte, der automatisch beim Öffnen der Anwendung bereitgestellt wird. Die gute Nachricht ist: Wir haben eine Lösung dafür gefunden, die wir in diesem Beitrag vorstellen – damit sind die beiden genannten Varianten möglich! Wie es geht, lesen Sie auf den folgenden Seiten.

Weiterlesen