VB.NET-DLL für Access programmieren

Wenn Sie ein Abonnement des Magazins 'Access im Unternehmen' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

VB.NET-DLL für Access programmieren

Visual Studio bietet viel mehr Bibliotheken und Möglichkeiten als Access. Dafür ist es auch viel komplizierter. Zum Glück können wir beide Welten kombinieren, zum Beispiel durch Erstellen einer DLL mit Visual Studio, die Funktionen bereitstellt, die nur unter .NET zur Verfügung stehen, die Sie dann von Access aus per VBA referenzieren und nutzen können. Dieser Beitrag zeigt anhand eines Beispiels, wie das gelingt.

Ohne Probleme möglich wird dies dadurch, dass Sie sich die Community Edition von Visual Studio, beispielsweise in der Version 2017, kostenlos herunterladen und diese nutzen können. Den Download finden Sie, wenn Sie bei Google nach Visual Studio 2017 Community suchen.

Nach dem Installieren und Starten von Visual Studio öffnen Sie über den Menüeintrag Datei|Neu|Projekt... den Dialog zum Erstellen eines neuen Projekts. Hier wählen Sie links den Eintrag Installiert|Visual Basic|Windows Desktop aus und in der Mitte dann Klassenbibliothek (.NET Framework) – siehe Bild 1. Geben Sie den Namen des Projekts ein, hier CMD, und wählen Sie den Ordner aus, in dem das Projektverzeichnis erstellt werden soll.

Erstellen einer Klassenbibliothek

Bild 1: Erstellen einer Klassenbibliothek

DLL als Administrator erstellen

Ein Hinweis vorab: Wenn Sie die DLL erstellen möchten, müssen Sie Visual Studio als Administrator öffnen. Dazu geben Sie beispielsweise Visual Studio im Suchfeld von Windows ein, warten, bis der Eintrag Visual Studio 2017 auftaucht, klicken dann mit der rechten Maustaste auf diesen Eintrag und wählen aus dem nun erscheinenden Kontextmenü den Befehl Als Administrator ausführen aus. Mit einer so gestarteten Instanz von Visual Studio können Sie nun auch DLLs auf dem aktuellen Rechner erstellen und registrieren.

Visual Studio empfängt Sie nun mit der im Codefenster geöffneten Klasse Class1. Sie können hier nun erste Methoden eintragen.

Unser Ziel ist es, eine DLL zu erstellen, die Methoden einer Bibliothek, die nur unter .NET, nicht aber unter VBA zur Verfügung steht. Zu Testzwecken wollen wir zuerst einmal nur eine einfache Funktion über die DLL in VBA bereitstellen, welche nach dem Aufruf eine einfache Meldung anzeigt.

Wir ändern nun erst einmal den Namen der zu verwendenden Klasse, indem wir Class1.vb im Projektmappen-Explorer in CMD.vb umbenennen. Dazu klicken Sie diesen Eintrag im Projektmappen-Explorer mit der rechten Maustaste an und wählen dann den Befehl Umbenennen... aus dem Kontextmenü aus. Geben Sie den neuen Namen ein und bestätigen Sie auch die nun erscheinende Meldung, wodurch Sie alle Verweise auf den vorherigen Namen auf den neuen Namen ändern (siehe Bild 2). In diesem Fall wird auch beispielsweise der Name der Klasse im Klassenmodul angepasst:

Umbenennen aller Verweise entsprechen des neuen Elementnamens

Bild 2: Umbenennen aller Verweise entsprechen des neuen Elementnamens

Public Class CMD
End Class

Einfache Meldung ausgeben

Um eine einfache Meldung auszugeben, nachdem die entsprechende Methode der Klasse aufgerufen wurde, legen Sie zunächst die gewünschte Sub-Methode an:

Public Class CMD
     Public Sub MeldungAusgeben()
     End Sub
End Class

Nun heißt der Befehl zum Ausgeben eines Meldungsfensters unter VB.NET etwas anders als unter VBA, also nicht MsgBox. Stattdessen verwendet man unter VB.NET die Methode Show der Klasse MessageBox. Diese wiederum ist in DLL-Klassen nicht standardmäßig als Verweis eingebunden, was wir allerdings schnell nachholen können.

Verweis auf Bibliothek hinzufügen

Dazu rufen Sie mit dem Menübefehl Projekt|Verweis hinzufügen... den Dialog Verweis-Manager auf. Hier klicken Sie links auf Assemblys. Rechts oben im Suchfenster können Sie etwa System.Windows eintippen. Die Einträge werden nach jedem Zeichen aktualisiert, sodass Sie schon bald den Eintrag System.Windows.Forms in der Liste entdecken. Diesen markieren Sie durch einen Haken und schließen den Dialog mit einem Klick auf die Schaltfläche OK (siehe Bild 3).

Hinzufügen eines Verweises für die MessageBox-Klasse

Bild 3: Hinzufügen eines Verweises für die MessageBox-Klasse

Diese Bibliothek machen wir nun in unserer Klasse verfügbar, indem wir diese mit der Imports-Anweisung ganz oben einfügen:

Imports System.Windows.Forms

Die Methode MeldungAusgeben erweitern wir nun um den Aufruf der Show-Methode der MessageBox-Klasse:

Public Class CMD
     Public Sub MeldungAusgeben()
         MessageBox.Show("Dies ist eine Meldung von einer  VB-DLL.")
     End Sub

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]