Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

15.7 Benutzerdefinierte Ereignisse

15.7.1 Ereignisse abfangen

Ein Beispiel für ein Objekt, auf dessen Ereignisse Sie in jedem Fall angewiesen sind, ist das Webbrowser-Steuerelement. Angenommen Sie möchten eine Internetseite aufrufen und eine bestimmte Information daraus abfragen - und das auch noch automatisiert. Dazu benötigen Sie nicht den Internet Explorer, sondern das oben erwähnte Steuerelement, das sich bequem in ein Formular einbauen lässt:

  • Legen Sie ein neues Formular an und öffnen Sie es in der Entwurfsansicht.
  • Wählen Sie den Ribbon-Eintrag Entwurf|Steuerelemente|ActiveX-Steuerelement einfügen aus.
  • Markieren Sie im nun erscheinenden Dialog den Eintrag Microsoft Webbrowser und klicken Sie auf OK (siehe Abbildung 15.4).
  • Abbildung 15.4: Auswahl eines ActiveX-Steuerelements

    Access fügt das Webbrowser-Steuerelement in das Formular ein. Ändern Sie den Namen des Steuerelements auf ctlWebbrowser ab (siehe Abbildung 15.5).

    Nun legen Sie eine Schaltfläche namens cmdLoad an, mit der Sie das Laden einer bestimmten Internetseite (beispielsweise http://www.access-im-unternehmen.de) starten. Und dann folgt endlich das Beispiel für ein Ereignis: Wenn die Seite fertig geladen ist, soll das Formular ein Meldungsfenster anzeigen.

    Damit ein Klick auf die Schaltfläche das Laden der Seite auslöst, hinterlegen Sie eine entsprechende Prozedur für die Ereigniseigenschaft Beim Klicken der Schaltfläche.

    Im Codefenster sollten Sie nun zunächst eine Objektvariable mit einem Verweis auf das Webbrowser-Steuerelement deklarieren und diesem das Steuerelement zuweisen. Normalerweise würden Sie dabei wie in Abbildung 16.6 vorgehen. Da Sie allerdings auf die Ereignisse des Webbrowser-Steuerelements zugreifen möchten, müssen Sie das entsprechende Objekt mit dem Schlüsselwort WithEvents deklarieren.

    Abbildung 15.5: Das Webbrowser-Steuerelement

    Abbildung 15.6: Eigenschaften und Methoden des Webbrowser-Steuerelements

    Außerdem werden Sie früher oder später von mehreren Prozeduren auf das Webbrowser-Objekt zugreifen wollen und dieses auch nicht erst beim Klicken auf die Schaltfläche zum Laden der Internetseite instanzieren. Der folgende Code erfüllt alle diese Voraussetzungen:

    Option Compare Database
    Option Explicit


    Dim WithEvents objWebbrowser As WebBrowser

    Private Sub cmdLoad_Click()
        'Eine Internetseite laden
        objWebbrowser.Navigate "http://www.access-im-unternehmen.de"
    End Sub

    Private Sub objWebbrowser_NavigateComplete2(ByVal pDisp As Object, _
        URL As Variant)
        'Wenn fertiggeladen, Meldung ausgeben
        MsgBox objWebbrowser.LocationURL
    End Sub

    Private Sub Form_Close()
        'Zerstören des Objektverweises beim Schließen
        Set objWebbrowser = Nothing
    End Sub

    Private Sub Form_Open(Cancel As Integer)
        'Zuweisen des Objekts beim Öffnen des Formulars
        Set objWebbrowser = Me!ctlWebbrowser.Object
    End Sub

    Listing 15.22: Klassenmodul des Webbrowser-Formulars

    Durch die Verwendung des Schlüsselworts WithEvents bei der Deklaration des Webbrowser-Objekts stehen alle Ereignisse dieses Objekts im Formularmodul zur Verfügung. Im Beispielcode kommt davon das Ereignis NavigateComplete2 zur Geltung: Es wird ausgelöst, wenn das Webbrowser-Steuerelement die angeforderte Seite fertig geladen hat. Die Prozedur objWebbrowser_NavigateComplete2 fängt also ein Ereignis eines eingebundenen Objekts ab und gibt eine Meldung mit dem URL der geladenen Seite aus.

    Die Deklaration mit WithEvents kann nur in Klassenmodulen erfolgen - in allein stehenden und auch in denen von Formularen und Berichten. Sie können nicht das Schlüsselwort New in Zusammenhang mit WithEvents verwenden.

    Nächster Abschnitt:

    15.7.2 Eigene Ereignisse anlegen

    © 2006-2008 André Minhorst Alle Rechte vorbehalten.