Auf Makronamen zugreifen

Liebe Access Experten,

auf die aktuelle Form, in der meine VBA- Ereignisprozedur läuft, kann ich über Me.Name zugreifen. Wie sieht es aber mit dem Namen der Ereignisprozedur aus? Gibt es dafür auch eine Zugriffsmöglichkeit?

Vielen Dank für Eure Antwort,

Heiko

Hallo Heiko!

Ich weiß nicht, ob ich Dir helfen kann, will es aber mal versuchen. Der Tipp stammt aus meinem Access Berater und deshalb müßtest Du eigentlich etwas damit anfangen können. Ich selber habe leider noch keine erfahrungen mit VBA und kann deshalb nicht viel dazu sagen. Hier nun der Tipp:

Makros in VBA konvertieren

Makros lassen sich in Access schnell und ohne Programmierkenntnisse erstellen, aber sie eignen sich meist nur für einfache Aufgabenstellungen. Wenn Sie bestehende Makros erweitern wollen, stoßen Sie schnell an die Grenzen des Befehlsumfangs, so daß Sie auf VBA ausweichen müssen. Wenig bekannt ist die Tatsache, daß Sie die entsprechende Prozedur nicht komplett neu aufbauen müssen; mit den folgenden Schritten können Sie jedes Makro automatisch von Access in eine VBA-Prozedur umwandeln lassen:

Über das Kontextmenü starten Sie zunächst die Export-Funktion für Makromodule

1.) Wechseln Sie im Datenbank-Fenster auf die Registerkarte »Makros«, und klicken Sie mit der rechten Maustaste das Makromodul an, das konvertiert werden soll.

2.) Rufen Sie das Kontextmenü Speichern unter-Exportieren auf.

Der Export in ein Visual Basic-Modul startet die Konvertierung

3.) Aktivieren Sie die Option Als Visual Basic-Modul speichern, und bestätigen Sie mit Ok.

Aktivieren Sie beide Optionen, und bestätigen Sie das Dialogfeld mit Ok

4.) In einem Dialogfeld werden nun zwei Optionen zur Makrokonvertierung angezeigt; übernehmen Sie einfach die Vorgaben, und klicken Sie auf Konvertieren.

Konvertierung starten

Der Konvertierungsvorgang wird damit gestartet, und am Ende erhalten Sie ein neues VBA-Modul, das für jedes Makro eine Prozedur enthält. Zur Benennung verwendet Access automatisch die Einträge der Spalte »Namen« im Makrofenster. Auch alle Kommentare werden automatisch in entsprechende Anmerkungszeilen umgewandelt, so daß Sie sich in dem VBA-Code schnell zurechtfinden. Im übrigen setzt Access für jeden Makrobefehl die entsprechende DoCmd-Methode ein, wobei nicht in jedem Fall ein Äquivalent vorhanden ist. Diese Sonderfälle sind in der folgenden Tabelle aufgeführt:

So werden Makroaktionen konvertiert

Makroaktion: Konvertierung in: HinzufügenMenü

Keine Konvertierung! Die Zeilen werden auskommentiert, und Sie müssen eine manuelle Anpassung vornehmen.

Meldung MsgBox-Funktion

AusführenAnwendung Shell-Funktion

AusführenCode Call-Anweisung

StopAlleMakros End-Anweisung

StopMakro Exit-Anweisung

Ausdrücke in der Spalte »Bedingungen« If-Then / Else / End If - oder With-/End With-Konstruktionen

Mit freundlichen Grüßen Albert

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]