Artikel aus dem Magazin Access im Unternehmen

Artikel aus dem Magazin Access im Unternehmen mehr erfahren »
Fenster schließen

Artikel aus dem Magazin Access im Unternehmen

Ticketsystem, Teil 1

Wer Access-Anwendungen entwickelt, erledigt dies in der Regel für seine Kunden oder Benutzer. Ob es nun einer, wenige oder viele Benutzer sind: Früher oder später meldet sich der eine oder andere mit Fehlermeldungen oder Verbesserungswünschen. Davon ausgehend, dass Sie diese auch berücksichtigen möchten, ist hier ein funktionierendes System zur Erfassung und Abarbeitung der Anforderungen gefragt, gegebenenfalls auch für mehrere Benutzer. Wir gehen in diesem Fall von einer reinen E-Mail-Schnittstelle aus und wollen dazu Microsoft Outlook nutzen.

Windows-API per VBA nutzen

Access stellt ausreichend Bordmittel zur Programmierung von Datenbankanwendungen zur Verfügung. Dazu gehören die Benutzerschnittstellen zur Gestaltung der Datenbankobjekte wie Tabellen, Abfragen, Formulare und Berichte sowie die Möglichkeit, Abläufe ereignisgesteuert per Makro oder VBA zu automatisieren. Manchmal reichen die vorhandenen Befehle aber nicht aus. In dem Fall greifen Sie auf die Prozeduren der Windows-API (Application Programming Interface) zu. Mit API-Prozeduren können Sie Ihre Anwendungen alles machen lassen, was Windows auch kann.

Standardverzeichnisse per VBA ermitteln

Es gibt eine ganze Reihe von Verzeichnissen, die es auf jedem Rechner gibt. Manche davon sollten eigentlich immer gleich lauten, aber durch die Installation von Windows oder Software auf Laufwerken mit anderen Laufwerkbuchstaben als C: gibt es hier gelegentlich Unterschiede. In manchen Fällen sorgt auch die Betriebssystemversion für Unterschiede, beispielsweise bei 32bit- gegenüber 64bit-Systemen. Und ganz sicher unterscheiden sich die Verzeichnisse, die dem jeweiligen Benutzer gehören. Dennoch wollen Sie früher oder später einmal dynamisch auf ein bestimmtes Verzeichnis zugreifen wie etwa das Verzeichnis der eigenen Dateien eines Benutzers oder das Add-In-Verzeichnis von Access. Dieser Beitrag zeigt, wie Sie solche Verzeichnisse ermitteln.

Benutzerdefinierte Outlook-Eigenschaften

Wenn Sie Outlook mit automatischen Funktionen ausstatten, die einen Zugriff auf eine Datenbankanwendung erfordern (in unserem Fall meist auf eine Access-Datenbank), dann müssen Sie irgendwo den Pfad der Datenbankdatei hinterlegen. Dies könnte man vorübergehend statisch in einem Code-Modul erledigen, aber für professionelle Anwendungszwecke sollte dieser Pfad nicht nur geändert werden können, sondern auch an einem anderen Ort gespeichert werden.

CSV-Verknüpfungen pflegen

Wenn Sie Dateien im .csv-Format in Ihre Datenbank eingebunden haben, kommt es gelegentlich vor, dass diese verschoben, umbenannt oder gelöscht werden. Dieser Beitrag zeigt nicht nur, wie Sie .csv-Dateien per VBA einbinden können, sondern auch, wie Sie erkennen, ob die Dateien noch an Ort und Stelle sind und diese gegebenenfalls mithilfe des Benutzers wieder einbinden.

Rund um das Ribbon

Das Ribbon und seine Programmierung enthält immer noch viele Geheimnisse für uns Access-Entwickler. Dieser Beitrag zeigt einige Techniken, mit denen Sie oft angefragte Konstellationen erhalten – beispielsweise das Ein- und Ausblenden zusätzlicher Ribbon-Elemente mit der Anzeige bestimmter Formulare oder auch das Aktivieren und Deaktivieren von Steuerelementen oder kompletter Ribbon-Bereiche in Abhängigkeit vom Vorhandensein bestimmter Elemente der Benutzeroberfläche.
Berichte haben verschiedene Bereiche, in die Sie die anzuzeigenden Daten einordnen können. Dazu gehört natürlich der Detailbereich, der für jeden Datensatz der Datenherkunft einmal angezeigt wird, der Berichtskopf und der Berichtsfuß sowie der Seitenkopf und der Seitenfuß. Schließlich kommen noch die entsprechenden Kopf- und Fußbereiche eventuell eingerichteter Gruppierungen hinzu. Dieser Beitrag zeigt, was Sie mit den einzelnen Bereichen anstellen können.

Datenblattmarkierung füllen

In der Datenblattansicht lassen sich ja bereits eine Menge Dinge erledigen – Daten einfügen, löschen, bearbeiten, kopieren, ausschneiden ... Sie können sogar komplette Bereiche kopieren und in andere Bereiche einfügen, sofern diese Bereiche zueinander kompatibel sind, und Access ist hier recht tolerant. Was aber fehlt, ist die Markierung eines Zielbereichs, dessen Felder dann alle mit dem gleichen Wert gefüllt werden. Wenn Sie also etwa für alle Datensätze ein Ja/Nein-Feld anhaken möchten, müssen Sie dies immer noch manuell erledigen. Dieser Beitrag zeigt eine passende Lösung für Datenblätter in Formularen und Unterformularen.
Mit dem Einsatz von Klassen können Sie Ihren Programmcode übersichtlich gestalten. Wenn Sie konkrete Aufgaben mittels wiederverwendbaren Klassen umsetzen, erhalten Sie zusätzlich eine Code-Sammlung, die die Code-Qualität erhöht, weil Sie Korrekturen im Code nur noch an einer Stelle umsetzen müssen. Die in diesem Beitrag beschriebenen Klassen sind wiederverwendbare Klassen für die Erstellung eines Filterausdrucks, die Sie ohne Änderung in Ihre Anwendung importieren und nutzen können.

Der ACLib-FilterForm-Wizard

In Access-Formularen wird regelmäßig Code zum dynamischen Erzeugen eines Filterausdrucks eingebaut. Wie Sie diesen Code übersichtlich gestalten, steht im Beitrag "SQL-Text für Filterbedingungen". Damit die Filter-Klassen aus diesem Beitrag genutzt werden können, ist Code im Formular erforderlich. Mit diesem Code wird die Filterung ausgelöst und der Filterausdruck erzeugt. Außerdem müssen Sie die Klassen in ihre Anwendung einfügen. Diese Aufgaben nimmt Ihnen der ACLib-FilterForm-Wizard ab.

Kontakte verwalten

Im Beitrag »Mehrere Datensätze pro Spalte in Formularen« haben wir gezeigt, wie Sie mehrere Unterformulare in einem Formular mit jeweils einem Datensatz füllen, sodass der Eindruck erscheint, die Datensätze wären innerhalb des Formulars in Spalten und Zeilen arrangiert. Im vorliegenden Beitrag zeigen wir ein Beispiel für den praktischen Einsatz dieser Lösung. Dabei wollen wir die Daten einer Kundendatenbank wie in der Kontakte-Ansicht von Outlook als Visitenkarten darstellen – mit der zusätzlichen Optionen, einen Kontakt direkt von der Übersicht aus löschen zu können.

Projektzeitauswertung

Im Beitrag »Projektzeiterfassung mit Outlook und Access« haben wir Outlook um Funktionen erweitert, die eine einfache Erfassung von Projektzeiten und deren Speicherung in eine Access-Datenbank ermöglichen. Wenn Sie auf diese Weise einige Stunden mit Ihren Projekten erfasst haben, wollen Sie die gespeicherten Daten vermutlich für verschiedene Auswertungen nutzen – beispielsweise, um die bei einem Projekt aufgelaufenen Stunden zu ermitteln. Dieser Beitrag zeigt, wie Sie dies auf einfache Weise erledigen.
10 von 19