VBA-Projekt per VBA referenzieren

Access bietet nicht nur die Möglichkeit, Tabellen, Abfragen, Formulare und Berichte per VBA-Code zu erstellen. Sie können auch die Elemente, die Sie im VBA-Editor bearbeiten, per VBA erstellen, bearbeiten und wieder löschen. Dieser Beitrag macht den Start in eine Beitragsreihe, die sich mit den Möglichkeiten zur Programmierung des VBA-Editors und von VBA-Code beschäftigen. In diesem Teil schauen wir uns an, wie Sie überhaupt VBA-Projekte mit VBA referenzieren.

Weiterlesen

Assistent für m:n-Beziehungen

Microsoft Access bietet eine ganze Reihe von praktischen Assistenten. Ich setze beispielsweise sehr oft den Nachschlage-Assistenten ein, der nicht nur eine Beziehung mit den gewünschten Optionen anlegt, sondern das bearbeitete Feld auch noch als Kombinationsfeld auslegt, mit dem die Daten der verknüpften Tabelle leicht ausgewählt werden können. Eine m:n-Beziehung stellen Sie her, indem Sie zwei solcher Nachschlagefelder in der sogenannten Verknüpfungstabelle anlegen. Noch praktischer wäre es, wenn Sie diese Verknüpfungstabelle gar nicht erst anlegen müssten. Stattdessen wären nur die zu verknüpfenden Tabellen auszuwählen und der Assistent erledigt den Rest – das Anlegen der Verknüpfungstabelle mit den notwendigen Feldern sowie das Einrichten der Beziehungen zu den zu verknüpfenden Tabellen. Dieser Beitrag zeigt, wie Sie einen solchen Assistenten programmieren können.

Weiterlesen

Das Application-Objekt

Eines der wichtigsten Objekte bei der Programmierung von Access-Anwendungen ist das Application-Objekt. Es bietet viele Eigenschaften und Methoden, die stiefmütterlich behandelt werden. Dabei lohnt es sich, einmal einen Blick darauf zu werfen – dann weiß man im Fall der Fälle, dass es da irgendwo einen passenden Befehl geben muss … Dieser Beitrag zeigt eine Übersicht der Elemente des Application-Objekts und deren Funktion. In weiteren Beiträgen schauen wir uns ihre Funktion der einzelnen Eigenschaften und Methoden im Detail an.

Weiterlesen

Setup für Access: Vertrauenswürdige Speicherorte

Das in diesem Artikel beschriebene Konzept hat das Ziel, die Registrierung des Installationsverzeichnisses als vertrauenswürdigen Speicherort zu automatisieren. Dadurch entfällt die Notwendigkeit für den Anwender, dies in Access selbst einzutragen. Vor allem vermeiden wir durch die spezifische Festlegung nur eines Verzeichnisses als vertrauenswürdig das Risiko, dass der Anwender unnötig viele Unterverzeichnisse quasi nebenher als vertrauenswürdig einstuft (was sie vielleicht nicht sein sollten).

Weiterlesen

Formulare per VBA erstellen

Warum sollte man Formulare per VBA erstellen, wenn Microsoft Access doch die gute alte, etwas in die Jahre gekommene Entwurfsansicht dafür bereitstellt Ganz einfach: Weil es für den effizient arbeitenden Access-Entwickler immer wieder Aufgaben gibt, die er einfach nicht von Hand erledigen möchte. Oder weil der Access-Entwickler immer wiederkehrende Aufgaben in ein Access-Add-In oder ein COM-Add-In auslagern möchte. Und dort gibt es nun einmal keine Entwurfsansicht – dort ist VBA-Code gefragt, um neue Formulare zu erstellen und die gewünschten Steuerelemente auf das Formular zu bringen. Dieser Beitrag liefert alle Techniken, die zum Erstellen von Formularen und zum Ausstatten mit Steuerelementen notwendig sind.

Weiterlesen

Ribbonvariable fehlerresistent machen

In VBA-Projekten von Access-Datenbanken (und in VBA im Allgemeinen) gibt es das Problem, dass das Auftreten von unbehandelten Laufzeitfehlern dazu führt, dass Objektvariablen geleert werden. Das ist insbesondere dann nachteilig, wenn Sie mit dem Ribbon arbeiten und dieses zwischendurch mit der Invalidate-Methode ungültig machen müssen, damit die Attribute mit get…-Prozeduren erneut eingelesen werden können. Der Aufruf von Invalidate führt dann unweigerlich zu einem Laufzeitfehler. Dieser Beitrag beschreibt das grundlegende Beispiel und liefert eine Lösung, mit der Sie sich keine Sorgen mehr um Objektvariablen machen müssen, die durch Laufzeitfehler geleert werden.

Weiterlesen

Bei Tab-Wechsel im Ribbon Formular anzeigen

Microsoft verwöhnt den Office-Entwickler nicht gerade mit Ereignissen im Ribbon. Es gibt ein bis zwei Ereignisattribute für einige Steuerelemente, eines, das beim Anzeigen einer Ribbondefinition ausgeführt wird – und das war es schon fast. Was aber, wenn Sie andere Ereignisse benötigen Zum Beispiel, um beim Wechsel von tab-Elementen ein spezielles Formular für das jeweilige tab-Element einzublenden Hierfür gibt es kein eingebautes Ereignis. Also müssen wir ein wenig improvisieren. Wie das gelingt, zeigen wir in diesem Beitrag!

Weiterlesen

Umschalttaste sperren mit AllowByPassKey

Unter Access können Sie einige Einstellungen vornehmen, damit der Benutzer kaum noch etwas davon sieht, dass es sich bei der Anwendung um eine Access-Anwendung handelt. Sie können beispielsweise den Navigationsbereich ausblenden, die eingebauten Ribbon- und Backstage-Einträge mit einer benutzerdefinierten Ribbon-Definition ausblenden. Pfiffige Anwender finden allerdings schnell heraus, wie sich diese Änderungen beim Öffnen einer Datenbank blockieren lassen: durch einfaches Gedrückthalten der Umschalttaste. Also zeigen wir in diesem Beitrag noch einen Weg, wie Sie auch das noch ein wenig erschweren können. Eine wichtige Rolle spielt dabei eine Eigenschaft namens AllowByPassKey.

Weiterlesen

Access-Optionen per Ribbon ändern

Es gibt einige Access-Optionen, die man immer wieder nutzt. In meinem Fall ist es zum Beispiel die Einstellung, ob Formulare nun als überlappende Fenster oder als Dokumente im Registerkartenformat angezeigt werden sollen. Sicher haben Sie ähnliche Einstellungen, die Sie oft ändern oder die Sie vielleicht einfach nur schnell einsehen können – was bei dem mittlerweile recht umfangreich gewordenen Optionen-Dialog schon einige Sekunden kosten kann. Warum also nicht ein COM-Add-In bauen, dass die Informationen der wichtisten Access-Einstellungen immer direkt im Ribbon anzeigt – anstatt irgendwo versteckt im Optionen-Dialog Und da wir mit twinBASIC auch noch ein praktisches Tool zum Erstellen von COM-Add-Ins zur Hand haben, können wir direkt loslegen!

Weiterlesen

Setup für Access: Umsetzung mit InnoSetup

Im ersten Teil haben wir uns mit den Grundlagen eines Setups beschäftigt, nun geht es “in medias res”. Dieser Teil beinhaltet die konkrete Umsetzung der Gedanken. Wir schauen uns das Setup-Script im Detail an und lernen, was die einzelnen Bestandteile bedeuten. Wir werden neben der Access-Datenbank auch Startmenü-Einträge und Desktop-Icons anlegen. Die Setup-Sprache wird variabel gemacht, es darf eine Lizenzvereinbarung geben, und es wird für eine ordnungsgemäße Deinstallation gesorgt.

Weiterlesen