|  | 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'! |
| | | | | |
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.
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).
Abb. 2: Speichern des Projekts unter dem gewünschten Projektnamen
|