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.

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 3/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

Ihren XING-Kontakten zeigen

Diesen Beitrag Ihrem XING-Kontakten vorstellen

Diesen Beitrag auf Facebook teilen

Verwandte Beiträge:

Verweise - ActiveX-Steuerelemente

Defekte Verweise: Ursachen und Lösungen

Verweise mit VBA manipulieren

Excel automatisieren

Tabellen wie unter Excel

Alle verwandten Beiträge ansehen ...

Bisherige Kommentare:

Noch keine Kommentare vorhanden.

Alle Kommentare ansehen oder Kommentar abgeben

Über den Autor:

Thomas Möller

Bitte nutzen Sie das XING-Profil nicht
für Fragen zum Artikel, sondern nur für
den Kontaktaustausch beziehungsweise
Projekt- oder Supportanfragen.

Zusammenfassung

Wo liegen die Vor- und Nachteile von Late und Early Binding? Wie gelingt der Wechsel von der einen zur anderen Technik?

Techniken

Verweise, VBA

Voraussetzungen

Access 97 oder höher

Beispieldateien

Demo.LateEarlyBinding.mdb
Demo.LateEarlyBinding.2000.mdb
Demo.LateEarlyBinding.2007.mdb

Shortlink

601

Verweise: Late und Early Binding

Thomas Möller, Weinstadt

Im vierten Teil der Beitragsreihe rund um das Thema Verweise geht es um Late und Early Binding. Das Ziel dieses Beitrags ist es, die Vor- und Nachteile beider Verfahren herauszuarbeiten. Danach erfahren Sie, wie Sie das Beste aus beiden Techniken herausholen und wie Sie den Wechsel von einem zum anderen Vorgehen so bequem wie möglich gestalten.

Wenn das Objektmodell von Access einmal nicht ausreicht, um eine Aufgabe zu erfüllen, haben Sie dank VBA die Möglichkeit, auf das Objektmodell anderer Anwendungen zuzugreifen. Dort können Sie sich die benötigten Funktionen quasi "ausleihen". Um die Objekte und Methoden einer fremden Anwendung für Access verfügbar zu machen, haben Sie grundsätzlich zwei Möglichkeiten, nämlich Early Binding und Late Binding.

Anhand eines kleinen Beispiels lernen Sie diese beiden Techniken kennen. Dabei soll einfach nur ein Word-Dokument geöffnet und angezeigt werden. Dieses Beispiel ist absichtlich kurz gehalten. Es soll Ihnen lediglich die wesentlichen Kernelemente der beiden Techniken näherbringen.

Early Binding

Beim Early Binding setzen Sie einen Verweis auf die verwendete Bibliothek. Im konkreten Fall ist ein Verweis auf Microsoft Word erforderlich:

Dim objWord As Word.Application

Set objWord = New Word.Application

With objWord

.Visible = True

.Activate

.WindowState = wdWindowStateMaximize

.Documents.Open (CurrentProject.Path & _

"\Test.doc")

End With

Diese Anweisungen deklarieren und instanzieren als Erstes eine Variable vom Typ Word.Application und machen danach Word sichtbar. Das Fenster von Word wird aktiviert und maximiert. Am Ende wird ein Word-Dokument geladen. Dadurch, dass Sie Early Binding verwenden, haben Sie folgende Vorteile:

  • Sie erhalten IntelliSense-Unterstützung beim Programmieren.
  • Beim Kompilieren wird eine Syntax-Prüfung vorgenommen.
  • Sie können eingebaute Konstanten verwenden.

Insgesamt ist ein Performancevorteil zu erwarten, da für Access beziehungsweise VBA die zu verwendende Bibliothek bereits beim Kompilieren bekannt ist.

Wenn Early Binding so viele Vorteile hat, warum dann dieser Artikel? Early Binding hat leider einen entscheidenden Nachteil: Sie benötigen einen Verweis. Dass bei der Verwendung von Verweisen so einiges schiefgehen kann, hat der letzte Beitrag dieser Reihe gezeigt (Defekte Verweise: Ursachen und Lösungen, Shortlink 572).

Late Binding

Ein zusätzlicher Verweis ist beim Late Binding nicht erforderlich:

Dim objWord As Object

Set objWord = CreateObject ("Word.Application")

With objWord

.Visible = True

.Activate

.WindowState = 1

.Documents.Open (CurrentProject.Path & _

"\Test.doc")

End With

Beim Late Binding wird eine Variable vom Typ Object deklariert. Dieser Variablen weisen Sie dann mit der Methode CreateObject plus der sogenannten ProgID Word.Application eine neue Instanz von Microsoft Word zu.

Der weitere Code ist fast identisch mit dem vorherigen Beispiel. Ein Unterschied besteht lediglich in der Zuweisung des Wertes für die Eigenschaft WindowState. Statt der in Word eingebauten Konstanten wdWindowStateMaximize wird hier deren Wert 1 verwendet. Die Vorteile, die Sie bei Early Binding haben, entsprechen den Nachteilen von Late Binding:

  • Sie erhalten keine IntelliSense-Unterstützung beim Programmieren.
  • Beim Kompilieren kann keine Syntax-Prüfung vorgenommen werden.
  • Sie können keine eingebauten Konstanten verwenden. Diese müssen Sie durch deren Werte ersetzen.

Insgesamt ist ein Performance-Nachteil zu erwarten, da für Access beziehungsweise VBA die zu verwendende Bibliothek erst zur Laufzeit ermittelt und durchsucht werden muss. Late Binding hat aber einen entscheidenden Vorteil: Sie benötigen keinen Verweis. Wenn Ihre Anwendung auf einem anderen Rechner ausgeführt wird, auf dem eine abweichende (ältere) Version von Microsoft Word installiert ist, wird dieser Code auch dort funktionieren.

Probleme mit Verweisen

Welche Probleme es mit fehlerhaften Verweisen geben kann, hat Ihnen der oben bereits erwähnte Beitrag dieser Reihe gezeigt. Lassen Sie uns kurz untersuchen, wann und wie es zu fehlerhaften Verweisen im Rahmen von Automation kommen kann. Gehen Sie davon aus, dass Sie eine Anwendung erstellt haben, in der Sie einen Verweis auf Microsoft Word gesetzt haben, um per Early Binding zum Beispiel die oben gezeigte Funktionalität zu realisieren. Solange die Anwendung auf Ihrem Rechner verbleibt, gibt es keine Probleme. Interessant wird es erst, wenn Sie diese weitergeben. Wenn Ihre Anwendung auf einem Rechner ausgeführt wird, auf dem die gleiche Version von MS Word installiert ist, sind keine Probleme zu erwarten.

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.

Sie sind nicht angemeldet!
Für den kompletten Artikel plus Beispieldatenbanken müssen Sie sich einloggen!
Jetzt einloggen ...
 

Sie haben keine Benutzerdaten? Na, dann aber schnell:

Benutzerdaten erhalten Sie auf zwei Arten:

1. Testen Sie das Online-Archiv von 'Access im Unternehmen' für eine Woche. Sie müssen Sie lediglich für den 'Access im Unternehmen'-Newsletter anmelden.
Ja, ich will den einwöchigen Testzugang und den Newsletter!

2. Greifen Sie ein ganzes Jahr auf das Online-Archiv zu und erhalten Sie zusätzlich alle zwei Monate das brandneue "Access im Unternehmen"-Magazin - für nur EUR 108,-* im Jahr!
Ja, ich will Access im Unternehmen bestellen!

 

* inkl. MwSt., zzgl. Versandkostenpauschale, EUR 140,- inkl. MwSt., zzgl. Versandkostenpauschale ab dem zweiten Jahr

Verwandte Beiträge:

Verweise - ActiveX-Steuerelemente

Defekte Verweise: Ursachen und Lösungen

Verweise mit VBA manipulieren

Excel automatisieren

Tabellen wie unter Excel

Bibliotheksdatenbanken

Verweise – die Grundlagen

© 2003-2010 André Minhorst Alle Rechte vorbehalten.