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

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

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

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

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

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

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

Optionsgruppe leeren mit Klasse

Optionsgruppen sind ein praktisches Steuerelement für die Auswahl einiger weniger, vorab fest definierter Optionen. Leider bietet dieses Steuerelement nach einmaliger Auswahl nicht mehr die Möglichkeit, dieses wieder zu leeren. Im vorliegenden Beitrag schauen wir uns an, wie das grundsätzlich zu erledigen ist. Außerdem erstellen wir eine Klasse, mit der Sie den dazu benötigten Code für die Nutzung in mehreren Optionsgruppen wiederverwenden können, statt ihn jedes Mal zu reproduzieren.

Weiterlesen

Optionen per VBA für Access 2019

In einem früheren Beitrag namens “Access-Optionen gestern und heute” haben wir uns einmal angesehen, welche Access-Optionen es gibt und wie Sie diese per VBA einstellen können – unter anderem mit den Methoden SetOption oder über die Eigenschaften des Database-Objekts der aktuell geöffneten Datenbank. Damals ging es noch um den Optionen-Dialog von Access 2003, der sich mittlerweile stark verändert hat. Um eine aktualisierte Version dieses Beitrags soll es in diesem Beitrag gehen. Grundlage ist dabei die Access 365-Version von Mitte 2021.

Weiterlesen

API-Funktion GetSaveFileDialog (32-Bit und 64-Bit)

Das Öffnen eines Dialogs zum Auswählen des Namens einer zu speichernden Datei erledigen Sie beispielsweise mit der API-Funktion “GetSaveFileDialog”. Diese stellen wir im vorliegenden Beitrag für 32-Bit- und 64-Bit-Office vor. Dabei stellen wir auch die Änderungen heraus, die für das Update einer eventuell bereits bestehenden 32-Bit-Version auf die 64-Bit-Version notwendig sind.

Weiterlesen