Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 2/2008.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Bauen Sie eigene Visual Basic 2008-DLLs, um die Klassen des .NET-Frameworks in eigene Anwendungen zu integrieren.

Techniken

VBA, Visual Basic 2008

Voraussetzungen

Access 2000 und höher, Visual Basic 2008 Express Edition

Beispieldateien

VB2008DLLs.zip

Shortlink

582

.NET-Klassen und Formulare in Access nutzen

André Minhorst, Duisburg

Das .NET-Framework liefert eine Menge interessanter Klassen, die Sie unter Access gut gebrauchen können. Doch nicht nur das: In Form einer COM-DLL können Sie nicht nur Visual Basic 2008-Klassen, sondern auch damit erstellte Elemente der Benutzeroberfläche in Access-Anwendungen integrieren. Und das Beste ist: Das funktioniert auch mit der kostenlosen Express Edition von Visual Basic 2008.

Wenn Sie unter VBA schon einmal einen Verweis auf eine externe Bibliothek gesetzt und deren Methoden und Eigenschaften genutzt haben, kennen Sie zumindest schon einmal die andere Seite von dem, was Sie in den folgenden Abschnitten lernen. Dort erstellen Sie nämlich genau eine solche Bibliothek, die Sie von Access aus referenzieren und deren Funktionen Sie dort unter VBA nutzen können. Üblicherweise dürften Sie bisher - wenn überhaupt - auf die Klassenbibliotheken von Anwendungen wie Word, Excel oder Outlook zugegriffen haben, um diese Anwendungen zu automatisieren; vielleicht haben Sie auch schon mal eine Klasse eines Drittanbieters benutzt, um den Funktionsumfang einer Ihrer Datenbanken zu erweitern. Ein gutes Beispiel ist etwa eine Komponente, die eine Anwendung um Funktionen zum Versenden von E-Mails erweitert.

Warum nun sollten Sie selbst solche Klassen herstellen und von Access aus einsetzen? Nun: Das .NET Framework 3.5 liefert eine unüberschaubare Menge an Klassen, die Sie auf diese Weise in Ihre Access-Anwendungen integrieren können.

Projekt erstellen

Der erste Schritt beim Bau einer DLL, die in Access als Verweis eingebunden werden kann, ist das Anlegen eines passenden Visual Basic-Projekts. Dies erledigen Sie in Visual Studio über den Menüeintrag Datei|Neues Projekt. Im folgenden Dialog namens Neues Projekt wählen Sie den Eintrag Klassenbibliothek aus und geben den Namen Ihrer Wahl an - beispielsweise AccessDLL. Um den Speicherpfad brauchen Sie sich noch nicht zu kümmern, den legen Sie später fest, wenn Sie sich entschlossen haben, dass dieses Projekt auch speichernswert ist.

Visual Studio empfängt Sie im Anschluss mit der leeren Klasse Class1, die es nun zu füllen gilt (s. Abb. 1). Zunächst aber geben Sie der Klasse einen sinnvolleren Namen wie etwa Beispielklasse. Dies erledigen Sie wahlweise im Projektmappen-Explorer oder im Eigenschaftsfenster - der Name im Codefenster ändert sich automatisch.

missing image file

Abb. 1: Visual Studio mit einer leeren VB-Klasse

Für einen ersten Funktionstest fügen Sie der Klasse einfach eine kleine Funktion hinzu, die nichts anderes erledigt, als beim Aufruf eine Zeichenkette zurückzuliefern. Die komplette Klasse sieht dann so aus:

Public Class Beispielklasse

Public Function Beispielfunktion() As String

    Beispielfunktion = "Funktioniert!"

End Function

End Class

Sie könnten die DLL nun durch den Menüeintrag Erstellen|AccessDLL erstellen erzeugen, aber das würde nichts nUtzen: Sie liefert keinerlei Informationen nach außen, die auf die enthaltenen Elemente - hier die Funktion Testfunktion - hinweisen. Dazu brauchte man eine .tlb-Datei, die sogenannte Type Library, die alle in der DLL enthaltenen Klassen und ihre Elemente auflistet und für das VBA-Projekt, in das sie eingebunden werden soll, bereitstellt. Bevor Sie dies erledigen, speichern Sie das Projekt mit Datei|Projekt schließen (s. Abb. 2).

missing image file

Abb. 2: Speichern des Projekts unter dem gewünschten Projektnamen

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Ereignisprozeduren implantieren

Visual Basic 2008 Express Edition

Modale Dialoge mal anders

Validieren mit Klasse

COM-Add-Ins mit Visual Basic 2008 Express Edition

Steuerelemente zur Laufzeit verschieben

.NET-Klassen in Access verwenden

© 2003-2015 André Minhorst Alle Rechte vorbehalten.