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

Formularcode ausgeben

nderungen an Tabellenfeldern und deren Eigenschaften ziehen in der Regel Anpassungen an verschiedenen Stellen nach sich. Dazu gehren die Abfragen, Formulare und Berichte sowie deren Steuerelemente und der VBA-Code in Modulen. Der vorliegende Beitrag beschreibt, wie Sie mit einer einfachen Funktion den Quellcode der Prozeduren aller Formular im Testfenster ausgeben knnen.

Die Funktion kann als Grundlage verwendet werden, um darin beispielsweise nach genderten Feldnamen zu suchen und diese anzupassen. Dazu mssen allerdings noch einige nderungen durchgefhrt werden, da die vorliegende Funktion nur zur Ausgabe dient.

Funktion zur Ausgabe der Prozeduren aller Formularmodule einer Datenbank

Die folgende Funktion durchluft alle Formular einer Datenbank. Dabei ffnet Sie die Formulare in der Entwurfsansicht, um deren Modul auszulesen und im Testfenster auszugeben.

Wichtig ist die Option acSaveNo in der DoCmd.Close-Anweisung. Wenn Sie das Modul eines Formulars auslesen und das Formular bis zu diesem Zeitpunkt noch kein Modul hat, wird ein neues angelegt. Die Option acSaveNo schliet Formular ohne Modul automatisch wieder, ohne die nderungen im Code zu speichern.

Public Function CodeAusgebenFormular()

    Dim db As DAO.Database

    Dim rst As DAO.Recordset

    Dim mdl As Module

    Set db = CurrentDb

    Set rst = db.OpenRecordset("SELECT Name as Formularname FROM MSysObjects WHERE Type = -32768", dbOpenDynaset)

    Do While Not rst.EOF

        DoCmd.OpenForm rst!Formularname, acDesign

        Set mdl = Forms(rst!Formularname).Module

        Debug.Print mdl.Name

        Debug.Print mdl.CountOfLines

        Debug.Print mdl.Lines(1, mdl.CountOfLines)

        Debug.Print "================================"

        Set mdl = Nothing

        DoCmd.Close acForm, rst!Formularname, acSaveNo

        rst.MoveNext

    Loop

End Function

Obige Funktion kann leicht fr die Anwendung mit Berichten umgeschrieben werden.

© 2003-2015 André Minhorst Alle Rechte vorbehalten.